{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy\n",
    "import scipy.misc\n",
    "import scipy.ndimage\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "from datetime import datetime\n",
    "\n",
    "import resource\n",
    "\n",
    "\n",
    "np.set_printoptions(suppress=True, precision=5)\n",
    "\n",
    "\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] None, 0.00s, memory: 89mb\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "7.7e-05"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "class Laptimer:    \n",
    "    def __init__(self):\n",
    "        self.start = datetime.now()\n",
    "        self.lap = 0\n",
    "        \n",
    "    def click(self, message):\n",
    "        td = datetime.now() - self.start\n",
    "        td = (td.days*86400000 + td.seconds*1000 + td.microseconds / 1000) / 1000\n",
    "        memory = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / (1024 ** 2)\n",
    "        print(\"[%d] %s, %.2fs, memory: %dmb\" % (self.lap, message, td, memory))\n",
    "        self.start = datetime.now()\n",
    "        self.lap = self.lap + 1\n",
    "        return td\n",
    "        \n",
    "    def reset(self):\n",
    "        self.__init__()\n",
    "    \n",
    "    def __call__(self, message = None):\n",
    "        return self.click(message)\n",
    "        \n",
    "timer = Laptimer()\n",
    "timer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true,
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "def normalize_fetures(X):\n",
    "    return X * 0.98 / 255 + 0.01\n",
    "\n",
    "def normalize_labels(y):\n",
    "    y = OneHotEncoder(sparse=False).fit_transform(y)\n",
    "    y[y == 0] = 0.01\n",
    "    y[y == 1] = 0.99\n",
    "    return y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>775</th>\n",
       "      <th>776</th>\n",
       "      <th>777</th>\n",
       "      <th>778</th>\n",
       "      <th>779</th>\n",
       "      <th>780</th>\n",
       "      <th>781</th>\n",
       "      <th>782</th>\n",
       "      <th>783</th>\n",
       "      <th>784</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 785 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    0    1    2    3    4    5    6    7    8    9   ...   775  776  777  778  \\\n",
       "61  4.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "86  3.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "0   5.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "68  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "78  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "41  8.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "26  4.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "32  6.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "57  9.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "52  7.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "\n",
       "    779  780  781  782  783  784  \n",
       "61  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "86  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "0   0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "68  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "78  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "41  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "26  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "32  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "57  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "52  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "\n",
       "[10 rows x 785 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "url = \"https://raw.githubusercontent.com/makeyourownneuralnetwork/makeyourownneuralnetwork/master/mnist_dataset/mnist_train_100.csv\"\n",
    "train = pd.read_csv(url, header=None, dtype=\"float64\")\n",
    "train.sample(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train = normalize_fetures(train.iloc[:, 1:].values)\n",
    "y_train = train.iloc[:, [0]].values.astype(\"int32\")\n",
    "y_train_ohe = normalize_labels(y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nzCaa2aNVvG68mc0ys6dTjw01sz+a2YtmdpeZDalxnlFmNt3Mnih9jcgwz+pmdo+ZTTKzZ8zsmFpq\n6mOeo2utCX0jv33Ok0t+y8xFhnOWV4Zbnd8Kc7ENbmOtzm/ptW25DSa/jZdXfktzsQ9ReR7ymzPy\n2+c8xd4Hds417Eu9fzj4m6S1JC0h6UlJG9Ux30uShtbwum0kDZf0dOqxsyWdWGqfJOlnNc4zStJx\nVdazsqThpfbSkl6UtFG1NVWYp+qa+CK/VdSTS377mYsM5/CVZ4Zbnd8Kc7ENbtOvIuS39Nq23AaT\n33jyW5qPfYhs85DfHL7Ib2Pz289cNWe40Z/YbyVpinPuFefcJ5KulbR7HfOZajjLwDn3gKR3god3\nlzSh1J4g6Ts1zrOwrmrqmemce7LUnivpeUmrV1tTmXlWq6Um9In89j1PLvmtMBcZzk+eGW5pfivM\ntbC2ampiGxyHludXat9tMPltOPYh+p6H/MaB/PY9T6H3gRt9YL+apGmp/nT9s+BaOEl3m9ljZnZY\nXZVJw5xzs6Te/7GShtUx11Fm9qSZXZ7l1Is0M1tbvX9B+quklWqtKTXPI/XWhAT57Ude+Q3mIsP5\nyTPDRc2vVIAMk9+GKGp+pTbbBpPfhmAfoh/kt9DIbz+KuA8c28XztnbObSFpF0lHmtk2Oc7tanzd\nxZLWdc4NlzRT0tisLzSzpSXdKGlk6S81YQ2ZaupjnpprQkOR3+xzkeHiKWJ+pQJkmPxGoZH5lSLe\nBpPfaBRxG0x+kRX5zT5XzXU1+sB+hqQ1U/3VS4/VxDn3Wum/b0i6Wb2nidRqlpmtJElmtrKk12us\n6Q3n3MJv3mWStszyOjMboN5v4tXOuVtrramveWqtCYsgv2Xkld9yc5Hh3OSW4SLmd2E9bIPbVlHz\nK7XJNpj8NhT7EGWQ3yiQ3zKKvA/c6AP7xyStb2ZrmdlASftKuq2WicxsUOkvGjKzwZJ2kvRsNVPI\nX69wm6SDSu0DJd0aviDLPKVv3kJ7VlHTFZKec85dUGdNi8xTR03wkd/y8spvn3OR4dzkkuEC5XeR\nuQqQYfLbOEXJr9S+22Dy2zjsQ5RHfouP/JZX3H1g1/irKo5Q71X+pkg6uY551lHvFRknSnqmmrkk\n/UbSq5I+kvQPSQdLGirpT6Xa/ihpuRrnuUrS06XablHvGov+5tla0qepf88Tpf9Py1dTU4V5qq6J\n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\n0fjuu+9WnCt9a7w999zTG5szZ06tJSJn7ZbhtB122MHrp6+PIkn77LNP0r7tttu8sU033bRxhbVQ\nPWvsjzKzJ83scjMbkltFQPOQYcSM/CJm5BcxI7+IHRluQ7VeFf9iSac755yZnSFprKRDyz25u7s7\naXd1damrq6vGt0Wtenp61NPT0+oyiiRzhslv65HfRZDfiJDfRbAPERky7CG/kSG/i2AfIiLV5Ney\nnNZbOoXjdufcZtWMlcZdNacOt1q61mpujXD99dd7/fC0pKIxMznnoj8NJ6taM9ys/Fa63d03vvEN\nr//SSy/VNG89p+Kns/9///d/3lgrTsUnv5nHot3+Sv6tatLLQSRp6NChXv+tt95qWF15I7/Zxkrj\nDclwes7wNnXf/OY3+3xeX9Kn4j///PMVn7v99tsn7WpOxQ/HinAqfidluIj5zUtY21NPPZW08zwV\n/7DDDkval156adV15q2T8iu11z5Eup4dd9zRGwtPxV977bWTdjudil8pv1k/sTel1mKY2crOuZml\n7p6Snq2vxGKqdL/a0N133+31i35g34EKneH0jtoqq6zijT366KNe/8Ybb0zaO+20kzc2cODAzO8Z\nbqzHjx+ftNN/oUUhFDq/jZJe6xwe2BdtZwMVtTy/YV4efPDBpB3uHKa3o8svv7w3Fv6uX3rppZN2\neL/5W265xeun19yH9YQH67NmzUra6623njcW/nE1rBG5a3l+GyXM3eabb575tekMjxkzxhs75phj\nvH765y086B8yhLPAm6DQGU5n6ZVXXvHG1lhjDa+fPha79dZbvbErr7zS66evCbXtttt6Yy+88ILX\nHzZsWBUVF1e/B/Zm9htJXZJWMLN/SBolaTszGy5pgaSpkg5vYI1AXcgwYkZ+ETPyi5iRX8SODHeW\nLFfF36+Ph6/s4zGgkMgwYkZ+ETPyi5iRX8SODHeWTGvs63qDAq7PqCRd6+KLL+6NVVrXFp6mP336\ndK+/0kor5VBdfjptfVGtipDfZr3/hx9+mLSXXXbZss9jjX08ipDfaoS1PvLII0n7a1/7mjc2aNAg\nrz9jxoykXfRTO8lvdnllOJwjfZuvSZMmeWMXXHBB0g5P069k5syZXv8//uM/vP6dd5a/VXSl/Yuj\njz7a648dOzbzaxuFDGcT2za4kvDfkV5j398ywPR+QnhNi0r7G41CfrNp1PZ37ty5Xv/b3/520p48\n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\ndmS4NXGLAwAAAAAAIlbvVfFz9Zvf/Kam962xxhpeP1wfXI3/+q//StpPPPGENzZ79myvf++9H144\n8t///rc39sADD3j9bbfdNmkPH84fyFC79Dqh8GJ5e+21V9nXhsIL46SvE1G0NfVoHWG2ll122aSd\n3k5K/hr7l156qbGFAQ2W3h7/7ne/88beffddrz9lypSkfckll3hj4e9Qej3zxIkT664TrWWfffZJ\n2o8//rg3dv7553v9//mf/0na4UWrQ+l94vD6KI888ojX/9WvfpW0jz322D4qBspLb0dfeeUVb+zS\nSy/1+s8//3zZecK18s8++2zSDrexF154YdJ+9NFHy9YjSRtvvHHZsf7AN/YAAAAAAESMA3sAAAAA\nACKW233sy35AFbe7e+2117x++jTMSveJHzBggNcfOHBgtWVmEp4qt+WWWybt5557ruJ7zz777KR9\n7rnn5ltYDbjVRzZFvNVHup7wtKNTTz3V6x922GFlXzto0CCvH9Pp9+Q3myLmN5SuL1wesssuuyTt\nk046yRu7+OKLG1tYA5Hf7Iqe4XRtTz31lDcWLue7/fbbk/YVV1xRdp5KnyH13FYvtdSH39F8/OMf\n98YadZsxMpxNf+Q3nP+xxx7z+unbb6VPtZd67hek9bVPUGlf5OSTT/b66dOTp06dWnHe/kB+syni\n9jddzw033OCNHXrooZnnCW89d/TRRyft//f//p83NmPGjEz1SNKECROS9m677eaN5bWfXSm/fGMP\nAAAAAEDEOLAHAAAAACBiHNgDAAAAABCxpq6xD+VVS15rGMJ6/v73v3v93Xffvex7w7Ub6VuMrL/+\n+vUXVyfWF2VThPVF4eenb2kXZnK99dbz+unxj3zkI95YTGvqQ+Q3myLkty/p+ubPn++Nrbbaakk7\n3KaGtx9t1LVVGoH8ZteMNcoLFixI2kcccYQ3Ft7GK23evHle/8033yz7OeHay3BbXqvwvwHpWzjl\niQxn04z8Tp482esfeeSRSXvs2LHe2Pbbb5/L54a3Iw2vi7XWWmsl7TCTyy23XM011Ir8ZlOEfYjw\n8y+77LKkfeaZZ3pj77zzjtc/5ZRTkvaQIUO8seOOO87rr7jiikk7XFO/ww47JO1w3yOcd/r06Uk7\nfTvfPNW1xt7MxprZLDN7NPXcqmY23symmtntZrZyngUDeSLDiBn5RczIL2JGfhE7MtxespyKf5Wk\n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\nfouL/PaN/BZXufw2/MAeAAAAAAA0DqfiAwAAAAAQMQ7sAQAAAACIGAf2AAAAAABErOEH9mY20sye\nNLOnzOzMOud63sweMbOHzeyBKt431sxmmdmjqedWNbPxZjbVzG43s5VrnGe0mc0ws0mlx8gM8wwz\nswlm9piZTTGzE2upqZd5RtVaE3pHfnudJ5f8lpmLDOcsrww3O78V5mIb3MKand/Se1tyG0x+Gy+v\n/JbmYh+i8jzkN2fkt9d5ir0P7Jxr2EPdfzh4RtJ6kpaVNFnSZnXMN03SqjW8b4Sk4ZIeTT13nqRv\nldpnSvpJjfOMlnRqlfUMlTS81B4oaaqkzaqtqcI8VdfEg/xWUU8u+e1jLjKcwyPPDDc7vxXmYhvc\noo8i5Lf03pbcBpPfePJbmo99iGzzkN8cHuS3sfntY66aM9zob+x3kPS0c266c26hpOsl7VvHfKYa\nzjJwzt0raV7w9L6Sri61r5a0X43zLKmrmnpmOucml9oLJD0haVi1NZWZZ+1aakKvyG/v8+SS3wpz\nkeH85Jnhpua3wlxLaqumJrbBcWh6fqXW3QaT34ZjH6L3echvHMhv7/MUeh+40Qf2a0t6MdWfoQ8L\nroWTdIeZTTSz/66rMmkN59wsqfv/WElr1DHXCWY22cyuyHLqRZqZra/uvyD9S9KQWmtKzfPvemtC\ngvz2Ia/8BnOR4fzkmeGi5lcqQIbJb0MUNb9Si22DyW9DsA/RB/JbaOS3D0XcB47t4nm7OOe2kbSX\npOPNbESOc7sa33eZpI8554ZLminpoqxvNLOBkm6QdFLpLzVhDZlq6mWemmtCQ5Hf7HOR4eIpYn6l\nAmSY/EahkfmVIt4Gk99oFHEbTH6RFfnNPlfNdTX6wP4lSeum+sNKz9XEOfdK6X/nSLpR3aeJ1GqW\nmQ2RJDMbKml2jTXNcc4t+eFdLmn7LO8zs2XU/UO81jl3U6019TZPrTWhB/JbRl75LTcXGc5Nbhku\nYn6X1MM2uGUVNb9Si2yDyW9DsQ9RBvmNAvkto8j7wI0+sJ8oaSMzW8/MBkg6VNLNtUxkZiuW/qIh\nM1tJ0mcl/aeaKeSvV7hZ0tdK7SMl3RS+Ics8pR/eEl+qoqYrJT3unPt5nTX1mKeOmuAjv+Xlld9e\n5yLDucklwwXKb4+5CpBh8ts4Rcmv1LrbYPLbOOxDlEd+i4/8llfcfWDX+KsqjlT3Vf6elnRWHfNs\n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\nQSWVbgV6wQUX5DJvM0yfPt3rh9tutIZwWxneFiktfarnBx980JAa3n//fW/s+OOP9/pXXXVV2XnS\nt4iUpLvvvjtph8tkmv37hWIJ8xD+Xjz99NNJ+wc/+IE3dvHFF3v99dZbr+y8QF5eeOEFr9/X6fdp\n6dswtktG+/zG3syGmdkEM3vMzKaY2Yml51c1s/FmNtXMbjczjgpQOOQXMSO/iB0ZRszIL2JGfttP\nllPxP5B0qnNuC0mflHS8mW0m6SxJdzrnNpU0QdLZjSsTqBn5RczIL2JHhhEz8ouYkd820+eBvXNu\npnNucqm9QNITkoZJ2lfS1aWXXS1pv0YVCdSK/CJm5BexI8OIGflFzMhv+6lqjb2ZrS9puKR/SRri\nnJsldQfHzNbIvbqcrLPOOr22Jen222/3+l/84hczz5temxSuy/zOd77j9Z944omk/atf/SrzZyA/\nseY3lM7du+++643tvPPOXj+9fvjqq6/2xnbaaSev3y7rj2JVpPwWMSsDBw5M2muvvbY3Ft6mKS1c\nYxquK/3xj3+ctMNbRqI6zczwD3/4Q69/7733Ju3wdkrpfB9wwAHeWJiBgw8+OGlvsskmFT8znbV3\n3nnHG7vjjju8/korrZS0w7XNX/jCF7x+el19EX83W0WRtsGN8tnPfjZph/vLRx99tNcna3GJNb+v\nv/565teGt3EO9wXaQea9FDMbKOkGSSeV/urjgpeEfaAwyC9iRn4ROzKMmJFfxIz8to9M39ib2TLq\nDsS1zrmbSk/PMrMhzrlZZjZU0uxy7+/s7EzaHR0d6ujoqLlg1Karq0tdXV3NLqMpyG/8yC/5jVk7\n51ciw62gnTNMfuNHfslvzKrJr4WnIfb6IrNrJM11zp2aeu48Sa85584zszMlreqcO6uX97osn9FI\n6c+/8cYbvbEjjjjC648bNy5pp09JkqQ5c+Z4/aeeeippn3LKKd5Y+jQ6yT/lf9CgQd5YM05nMjM5\n59riPKrY8xtK1/Pd737XGzvvvPO8fvoWSulbLkpxn0ZHfuPNb6Ok/53PPfecNxbuiLz88stl5wl/\nL956662kPWDAgDoq9D+jXfIrFSPD4RxTp05N2p/61Ke8sfSp+eH76lmOkb7FXjhP+rZMknTssccm\n7d13373ivOxDNFYR8puXsJbwVmIbb7xx0r7hhhu8sXAJCPsQcYgtv+HnpTMp9fzve1p6iZXkLzmN\n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\nTPjb64MOOigpDx06tOgx0eWizW8ozPMOO+yQlPfbb7/M/axcudKrhxdql112Wea+LrjggqT8pS99\nyWvbddddM/eDgpomv9VIr6mXpCOOOKKifsJ19GPGjEnKXJfUTVNmOLwumD17tldPbzUerqkfMmSI\nV58+fXpSTq+pl+LKZckbezO7U1KbpA+b2UJJF0n6vJkNl/S+pFclnVbHMQJVIcOIGflFzMgvYkZ+\nETsy3FqyPBX/+E4+fXsdxgLUBRlGzMgvYkZ+ETPyi9iR4dbC/EQAAAAAACJW6VPxEQjXX4TrM4Bi\nHnzwwaQ8atSozK8L11P+8pe/9Orp/WJjWiOE5lWrHM6fPz/zMcg+6qXSbG2xxRZe/Stf+YpXnzRp\nUlJesWJF0b7efffdpByuOQWKCfMyefLkpHzJJZd4bUuWLMnc7/bbb+/VX3rppaTcrZt/68H5GeVI\nZzZcU7/33nt79ffeey8pf+xjH/PaHn/8ca+ezmzMmeQv9gAAAAAARIwbewAAAAAAItYSU/HT0zb+\n/e9/e22rV68u+Lott9zSq/fo0cOrX3jhhUn5lVde8drC46xduzYpp7c2k/w9Ik888USvba+99io4\nPsQjnO72r3/9y6ufffbZmfs6+uijk/Ktt97qtaWn3kvlTSdKjzHciuntt99OyumtlSTphRdeyHyM\n9NZQknTVVVcl5XDrESCdyfR0Y0m6++67vXp6Cl44zRnIuz59+nj18PqjmAkTJiTlQYMG1WpIaBLp\n8+jLL7/staV/BkvSk08+mZTD69piDj30UK8ebt/Ys2fPzH0BaeH186xZs5Jyejs7yZ96H3rssce8\nerhcJObp92n8xR4AAAAAgIhxYw8AAAAAQMS4sQcAAAAAIGLRrrFPr7kI11QsX77cq992221J+dJL\nL/Xa1qxZU/AY4Rq37bbbzqsvW7as4Gv33Xdfr96vX7+kvG7dOq/tzTffTMr9+/f32lhjH690Rv/5\nz396bYcffrhXf/XVVzP3u9tuuyXlcPuZXXfdteAYbrzxRq+t2Fqk66+/3qu/+OKLmcdXzNSpU736\n4MGDa9Ivmt8777zj1adPn+7Vf/SjHyVl1tgjj9Ln4/A65ZhjjvHq4XNYitl2222T8uabb17h6NAK\nFi9e7NVvuummzK9N50zyn+0wduxYr6179+5evVnWL6P+wjX14TOf0lkL23baaSevfu+99ybl3r17\ne23NmsmSf7E3s4FmNs3MnjWzuWb2rY7P9zKzh81sgZk9ZGY8GQO5Q34RM/KL2JFhxIz8Imbkt/Vk\nmYr/rqSznHO7S9pX0hgzGybpXEmPOOeGSpom6bz6DROoGPlFzMgvYkeGETPyi5iR3xZT8sbeObfY\nOTe7o7xa0jxJAyWNkPSLji/7haT/rtcggUqRX8SM/CJ2ZBgxI7+IGfltPWWtsTezQZKGS/qLpL7O\nuSXSxuCYWZ8iL61auOYivTZ+/PjxXtsNN9xQ8XEGDhyYlDfbzP+9xz777OPVP/nJT1Z8nELCfexR\nO43M74477ujVjzrqKK/+3HPPZe7rBz/4QVIO18eF+3KmvfTSS149fE91hXBf3AMPPLDLxxCrRuY3\nD5544omi7SNHjkzKzbp2Lnb1znD6nDZ//nyvbfTo0cXG5dV/9atfJeVevXoVPWZ6LXH43JL169d7\n9WuvvTYp33XXXV5brZ5jQvbrpxnOwWPGjKn4teG19ogRI5Jy+FwTcpg/ec5v+ty9du1ar23PPff0\n6ulnUg0ZMsRr+8Mf/uDV08+kahWZb+zNbBtJ90g6wzm32szCu4KCdwkTJ05Mym1tbWpraytvlKha\ne3u72tvbGz2MhiG/cSO/5DdmrZ5fiQzHrtUzTH7jRn7Jb8zKyW+mG3sz66aNgZjsnLu/49NLzKyv\nc26JmfWTVPARrulQoDHCN+PFF1/cuMF0MfIbP/JLfmPWyvmVyHAzaOUMk9/4kV/yG7Ny8pv1L/Y/\nk/Scc+7Hqc89IGm0pMslfVXS/Z28rm6mTJmSlMuZeh9OdT///PO9+kc+8pGkzLYxTaMh+U1PRQu3\nTrzooou8+ooVK5LypEmTMh8j3HKx2BaMXSW9rV6fPv7sriOOOKKrh9MMcnf+bYQZM2YUbd955527\naCSoQJdneNWqVV79b3/7W+bXFpu+GU4xTm9dumjRIq9tzpw5mY9ZjrPOOsurs6Sp7qI6B4fL7NJL\nRF577bWK+73gggu8+ne/+92kfPLJJ3ttPXr0yNzv6aefnpTDLXtD3bpFu0t3I0WV3/A8Gm4Hnc7A\nQw895LWFU/NbcUlIyXeIme0n6QRJc83saW2crnG+NobhLjM7WdI/JB1TuBegMcgvYkZ+ETsyjJiR\nX8SM/Laekjf2zrknJBX60/VBtR0OUFvkFzEjv4gdGUbMyC9iRn5bT5Z97AEAAAAAQE5Zvbe8MjNX\ni2OEfaTXJB922GFeW7hG56STTkrKBx2U/RdUzbw2w8zknGvef2CN1Cq/obDPp59+Oin/8Ic/9Nru\nu+++mh+/M4MHD07K4bql/v37Z+5nq622Ssql3kOVvsfIbzb1ym+9hGN9/fXXk3K4hj58XkP6uSt5\nR36zKyfD6a+bOXOm17bvvvvWdFz1lt5mL1xXHK7dT2+n2lXXLWQ4m0acg8Pjpd8L4RPN161b1xVD\nyizM78EHH+zVr7nmmqQ8bNiwqo5Dfkvrqvymj5H+uS9t+n0+9thjk/Itt9zitTXzfVtasfzyF3sA\nAAAAACLGjT0AAAAAABHjxh4AAAAAgIhFs8Y+VGmfrbL+ohTWF2XTiPVF69ev99r++te/evXnn38+\nKZ922mlF+z3vvPOS8iGHHFL0a9NrmAcNGlT0a7Oq1/uN/GYT+xr7BQsWJOXdd9/da7vkkku8+oQJ\nE+o3sBojv9lVusY+3Av5uuuuK1gPz7ld4cwzz/Tq4Tr6iRMnJuXu3bsX7asR1zVkOJs8nIPTx3/0\n0Ue9tiuvvNKrp8+51ex5X47ddtstKa9Zs6ZgmyQ9++yzSfmNN96o+JjkN5s8PCPirbfe8urp82Gp\nc2OzYo09AAAAAABNiht7AAAAAAAiFu1UfFSHaUjZ5GEaUiPkfckK+c0mtvNvONb0NNH0NkeS9Mor\nr3j1mKbkkd/sKs1wqdfccccdSXn06NFl99+Z66+/3qt/6lOfKvi1e+65p1ffbLPCf2fJ4/mYDGeT\nt3NwqbEsXLgwKc+bN6/oa++5556k/POf/zzzGG666SavftRRRyXlVatWeW19+/b16o8//nhSDre6\nLgf5zSYP+S12/DyeG7tCVVPxzWygmU0zs2fNbK6Zjev4/EVmtsjMZnV8VP4OA+qE/CJm5BexI8OI\nGflFzMhv6+lW+kv0rqSznHOzzWwbSU+Z2dSOtqudc1fXb3hA1cgvYkZ+ETsyjJiRX8SM/LaYkjf2\nzrnFkhZ3lFeb2TxJAzqaW3MOBKJBfhEz8ovYkWHEjPwiZuS39ZS1xt7MBklql/Rfkr4jabSktyT9\nTdJ3nHNvdfKahq/PwKZacX0R+W0e5Lc581tsjf306dO9tilTpnj1mNbatWJ+pXxlOG/vi5jyK7Vm\nhvOU33qJaazVvGfIb3Pmt1XUZLu7jikc90g6wzm3WtINkoY454Zr42+DmM6B3CK/iBn5RezIMGJG\nfhEz8ts6sqyxl5l108ZATHbO3S9JzrmlqS+5RdKUzl4rSRMnTkzKbW1tamtrq2CoqEZ7e7va29sb\nPYyGIL/xI7/kN2atnF+JDDeDVs4w+Y0f+SW/MSsnv5mm4pvZLyUtc86dlfpcv461GzKzb0v6lHPu\n+E5eyzSOHGqlaUjkt/mQ3+bML1Pxm1MeM5y390VM+ZVaK8N5zG+9xDRWpuJn00r5bRXF8lvyxt7M\n9pM0XdJcSa7j43xJx0saLul9Sa9KOs05t6ST1xOKHGqVkxr5bU7ktzXyW2zssd0IpbVKfiUy3Kxa\nJcPktzmRX/Ibs6pu7GtwcEKRQ61yUqsW+c0n8ptN7Pnlxh6xZ7hZkeFsyG8+kd9syG8+1eTheQAA\nAAAAIH+67Ma+Vg+taNZ+atlXqz4gpJ7y9r1p5tyR39rL4/cmS19mVvCj1mPKWz/w5e3706z91Lov\nbJS373Pe+qllX+S39vL2vWnm3FXbDzf2Oemnln1xUqu9vH1vmjl35Lf28vi9yduY8tYPfHn7/jRr\nP7XuCxvl7fuct35q2Rf5rb28fW+aOXfR3NgDAAAAAIDa48YeAAAAAICIdclT8et6AFSMJ4KWRn7z\ni/yWRn7zi/xmQ4bziwyXRn7zi/yWRn7zq2Hb3QEAAAAAgPphKj4AAAAAABHjxh4AAAAAgIhxYw8A\nAAAAQMTqfmNvZoeZ2Xwze97MxlfZ16tm9ncze9rMnizjdbeZ2RIzm5P6XC8ze9jMFpjZQ2bWs8J+\nLjKzRWY2q+PjsAz9DDSzaWb2rJnNNbNvVTKmTvoZV+mY0Dny22k/Nclvgb7IcI3VKsONzm+RvjgH\nN7FG57fjtU15Dia/9Ver/Hb0xTVE8X7Ib42R3077yfc1sHOubh/a+IuDFyXtImkLSbMlDauiv5cl\n9argdftLGi5pTupzl0v6n47yeEmXVdjPRZLOKnM8/SQN7yhvI2mBpGHljqlIP2WPiQ/yW8Z4apLf\nEn2R4Rp81DLDjc5vkb44BzfpRx7y2/HapjwHk9948tvRH9cQ2fohvzX4IL/1zW+JvirOcL3/Yr+3\npBecc/9wzm2Q9BtJI6roz1TBLAPn3OOS3gw+PULSLzrKv5D03xX288G4yhnPYufc7I7yaknzJA0s\nd0wF+hlQyZjQKfLbeT81yW+Rvshw7dQyww3Nb5G+PhhbOWPiHByHhudXat5zMPmtO64hOu+H/MaB\n/HbeT66vget9Yz9A0mup+iL9Z8CVcJKmmtlMMzu1qpFJfZxzS6SN/2Ml9amir7FmNtvMbs0y9SLN\nzAZp42+Q/iKpb6VjSvXz12rHhAT5LaFW+Q36IsO1U8sM5zW/Ug4yTH7rIq/5lZrsHEx+64JriBLI\nb66R3xLyeA0c28Pz9nPOfVLS/5U0xsz2r2HfrsLX3SBpiHNuuKTFkq7O+kIz20bSPZLO6PhNTTiG\nTGPqpJ+Kx4S6Ir/Z+yLD+ZPH/Eo5yDD5jUI98ytFfA4mv9HI4zmY/CIr8pu9r4rHVe8b+39K+j+p\n+sCOz1XEOfdGx3+XSvpfbZwmUqklZtZXksysn6R/VTimpc65D755t0j6VJbXmVk3bfwmTnbO3V/p\nmDrrp9IxYRPkt4Ba5bdQX2S4ZmqW4Tzm94PxcA5uWnnNr9Qk52DyW1dcQxRAfqNAfgvI8zVwvW/s\nZ0r6iJntYmZbSvqypAcq6cjMPtTxGw2ZWQ9Jh0h6ppwu5K9XeEDS6I7yVyXdH74gSz8d37wPfKmM\nMf1M0nPOuR9XOaZN+qliTPCR38Jqld9O+yLDNVOTDOcov5v0lYMMk9/6yUt+peY9B5Pf+uEaojDy\nm3/kt7D8XgO7+j9V8TBtfMrfC5LOraKfwdr4RManJc0tpy9Jd0p6XdI6SQslnSSpl6RHOsb2sKTt\nK+znl5LmdIztd9q4xqJUP/tJei/175nV8f9ph3LGVKSfssfEB/nt6vyS4XgynIf85jHD5Lf581vL\nDJPf1vuoRX6rzTD5Jb/kN3/5rVeGraNjAAAAAAAQodgengcAAAAAAFK4sQcAAAAAIGLc2AMAAAAA\nEDFu7AEAAAAAiBg39gAAAAAARIwbewAAAAAAIsaNPQAAAAAAEfv/ZBlGMhhC4twAAAAASUVORK5C\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109526438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, _ = plt.subplots(5, 6, figsize = (15, 10))\n",
    "for i, ax in enumerate(fig.axes):\n",
    "    ax.imshow(X_train[i].reshape(28, 28), cmap=\"Greys\", interpolation=\"none\")\n",
    "    ax.set_title(\"T: %d\" % y_train[i])\n",
    "\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>775</th>\n",
       "      <th>776</th>\n",
       "      <th>777</th>\n",
       "      <th>778</th>\n",
       "      <th>779</th>\n",
       "      <th>780</th>\n",
       "      <th>781</th>\n",
       "      <th>782</th>\n",
       "      <th>783</th>\n",
       "      <th>784</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 785 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   0    1    2    3    4    5    6    7    8    9   ...   775  776  777  778  \\\n",
       "8  5.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "4  4.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "2  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "6  4.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "0  7.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "1  2.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "3  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "7  9.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "5  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "9  9.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   \n",
       "\n",
       "   779  780  781  782  783  784  \n",
       "8  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "4  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "2  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "6  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "0  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "1  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "3  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "7  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "5  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "9  0.0  0.0  0.0  0.0  0.0  0.0  \n",
       "\n",
       "[10 rows x 785 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "url = \"https://raw.githubusercontent.com/makeyourownneuralnetwork/makeyourownneuralnetwork/master/mnist_dataset/mnist_test_10.csv\"\n",
    "test = pd.read_csv(url, header=None, dtype=\"float64\")\n",
    "test.sample(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_test = normalize_fetures(test.iloc[:, 1:].values)\n",
    "y_test = test.iloc[:, 0].values.astype(\"int32\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Neural Networks Classifier\n",
    "\n",
    "Author: Abul Basar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "class NeuralNetwork:\n",
    "\n",
    "    def __init__(self, layers, learning_rate, random_state = None):\n",
    "        self.layers_ = layers\n",
    "        self.num_features = layers[0]\n",
    "        self.num_classes = layers[-1]\n",
    "        self.hidden = layers[1:-1]\n",
    "        self.learning_rate = learning_rate\n",
    "        \n",
    "        if not random_state:\n",
    "            np.random.seed(random_state)\n",
    "        \n",
    "        self.W_sets = []\n",
    "        for i in range(len(self.layers_) - 1):\n",
    "            n_prev = layers[i]\n",
    "            n_next = layers[i + 1]\n",
    "            m = np.random.normal(0.0, pow(n_next, -0.5), (n_next, n_prev))\n",
    "            self.W_sets.append(m)\n",
    "    \n",
    "    def activation_function(self, z):\n",
    "        return 1 / (1 + np.exp(-z))\n",
    "    \n",
    "    def fit(self, training, targets):\n",
    "        inputs0 = inputs = np.array(training, ndmin=2).T\n",
    "        assert inputs.shape[0] == self.num_features, \\\n",
    "                \"no of features {0}, it must be {1}\".format(inputs.shape[0], self.num_features)\n",
    "\n",
    "        targets = np.array(targets, ndmin=2).T\n",
    "        \n",
    "        assert targets.shape[0] == self.num_classes, \\\n",
    "                \"no of classes {0}, it must be {1}\".format(targets.shape[0], self.num_classes)\n",
    "\n",
    "        \n",
    "        outputs  = []\n",
    "        for i in range(len(self.layers_) - 1):\n",
    "            W = self.W_sets[i]\n",
    "            inputs = self.activation_function(W.dot(inputs))\n",
    "            outputs.append(inputs)\n",
    "        \n",
    "        errors = [None] * (len(self.layers_) - 1)\n",
    "        errors[-1] = targets - outputs[-1]\n",
    "        #print(\"Last layer\", targets.shape, outputs[-1].shape, errors[-1].shape)\n",
    "        #print(\"Last layer\", targets, outputs[-1])\n",
    "        \n",
    "        #Back propagation\n",
    "        for i in range(len(self.layers_) - 1)[::-1]:\n",
    "            W = self.W_sets[i]\n",
    "            E = errors[i]\n",
    "            O = outputs[i] \n",
    "            I = outputs[i - 1] if i > 0 else inputs0\n",
    "            #print(\"i: \", i, \", E: \", E.shape, \", O:\", O.shape, \", I: \", I.shape, \",W: \", W.shape)\n",
    "            W += self.learning_rate * (E * O * (1 - O)).dot(I.T)\n",
    "            if i > 0:\n",
    "                errors[i-1] = W.T.dot(E)\n",
    "        \n",
    "    \n",
    "    def predict(self, inputs, cls = False):\n",
    "        inputs = np.array(inputs, ndmin=2).T        \n",
    "        assert inputs.shape[0] == self.num_features, \\\n",
    "                \"no of features {0}, it must be {1}\".format(inputs.shape[0], self.num_features) \n",
    "        \n",
    "        for i in range(len(self.layers_) - 1):\n",
    "            W = self.W_sets[i]\n",
    "            input_next = W.dot(inputs)\n",
    "            inputs = activated = self.activation_function(input_next)\n",
    "            \n",
    "            \n",
    "        return np.argmax(activated.T, axis=1) if cls else activated.T \n",
    "    \n",
    "    def score(self, X_test, y_test):\n",
    "        y_test = np.array(y_test).flatten()\n",
    "        y_test_pred = nn.predict(X_test, cls=True)\n",
    "        return np.sum(y_test_pred == y_test) / y_test.shape[0]\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Run neural net classifier on small dataset\n",
    "\n",
    "### Training set size: 100, testing set size 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Testing accuracy:  0.6 , training accuracy:  0.85\n"
     ]
    }
   ],
   "source": [
    "nn = NeuralNetwork([784,100,10], 0.3, random_state=0)\n",
    "for i in np.arange(X_train.shape[0]):\n",
    "    nn.fit(X_train[i], y_train_ohe[i])\n",
    "    \n",
    "nn.predict(X_train[2]), nn.predict(X_train[2], cls=True)\n",
    "print(\"Testing accuracy: \", nn.score(X_test, y_test), \", training accuracy: \", nn.score(X_train, y_train))\n",
    "#list(zip(y_test_pred, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load full MNIST dataset. \n",
    "\n",
    "### Training set size 60,000 and test set size 10,000\n",
    "\n",
    "Original: http://yann.lecun.com/exdb/mnist/\n",
    "\n",
    "CSV version: \n",
    "training: https://pjreddie.com/media/files/mnist_train.csv\n",
    "testing: https://pjreddie.com/media/files/mnist_test.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(60000, 1) (60000, 10)\n"
     ]
    }
   ],
   "source": [
    "train = pd.read_csv(\"../data/MNIST/mnist_train.csv\", header=None, dtype=\"float64\")\n",
    "X_train = normalize_fetures(train.iloc[:, 1:].values)\n",
    "y_train = train.iloc[:, [0]].values.astype(\"int32\")\n",
    "y_train_ohe = normalize_labels(y_train)\n",
    "print(y_train.shape, y_train_ohe.shape)\n",
    "\n",
    "test = pd.read_csv(\"../data/MNIST/mnist_test.csv\", header=None, dtype=\"float64\")\n",
    "X_test = normalize_fetures(test.iloc[:, 1:].values)\n",
    "y_test = test.iloc[:, 0].values.astype(\"int32\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Runt the Neural Network classifier and measure performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] training time, 23.18s, memory: 1263mb\n",
      "Testing accuracy:  0.9285 , Training accuracy:  0.931516666667\n"
     ]
    }
   ],
   "source": [
    "timer.reset()\n",
    "nn = NeuralNetwork([784,100,10], 0.3, random_state=0)\n",
    "for i in range(X_train.shape[0]):\n",
    "    nn.fit(X_train[i], y_train_ohe[i])\n",
    "timer(\"training time\")\n",
    "accuracy = nn.score(X_test, y_test)\n",
    "print(\"Testing accuracy: \", nn.score(X_test, y_test), \", Training accuracy: \", nn.score(X_train, y_train))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Effect of learning rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] None, 23.22s, memory: 1583mb\n",
      "[1] None, 23.83s, memory: 1583mb\n",
      "[2] None, 24.14s, memory: 1583mb\n",
      "[3] None, 23.72s, memory: 1583mb\n",
      "[4] None, 23.85s, memory: 1583mb\n",
      "[5] None, 23.08s, memory: 1583mb\n",
      "[6] None, 23.78s, memory: 1583mb\n",
      "[7] None, 23.26s, memory: 1583mb\n",
      "[8] None, 23.69s, memory: 1583mb\n",
      "[9] None, 23.20s, memory: 1583mb\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x10d51cac8>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n+wSpyMkCeRsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d0819e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "params = 10 ** - np.linspace(0.01, 2, 10)\n",
    "scores_train = []\n",
    "scores_test = []\n",
    "\n",
    "timer.reset()\n",
    "for p in params:\n",
    "    nn = NeuralNetwork([784,100,10], p, random_state = 0)\n",
    "    for i in range(X_train.shape[0]):\n",
    "        nn.fit(X_train[i], y_train_ohe[i])\n",
    "    scores_train.append(nn.score(X_train, y_train))\n",
    "    scores_test.append(nn.score(X_test, y_test))\n",
    "    timer()\n",
    "    \n",
    "plt.plot(params, scores_test, label = \"Test score\")\n",
    "plt.plot(params, scores_train, label = \"Training score\")\n",
    "plt.xlabel(\"Learning Rate\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend()\n",
    "plt.title(\"Effect of learning rate\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy scores\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>learning_rate</th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.977237</td>\n",
       "      <td>0.8305</td>\n",
       "      <td>0.830450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.587339</td>\n",
       "      <td>0.8997</td>\n",
       "      <td>0.899567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.353002</td>\n",
       "      <td>0.9289</td>\n",
       "      <td>0.932150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.212162</td>\n",
       "      <td>0.9395</td>\n",
       "      <td>0.942067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.127513</td>\n",
       "      <td>0.9494</td>\n",
       "      <td>0.953850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.076638</td>\n",
       "      <td>0.9523</td>\n",
       "      <td>0.952500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.046061</td>\n",
       "      <td>0.9480</td>\n",
       "      <td>0.947367</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.027684</td>\n",
       "      <td>0.9392</td>\n",
       "      <td>0.937483</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.016638</td>\n",
       "      <td>0.9308</td>\n",
       "      <td>0.926983</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.010000</td>\n",
       "      <td>0.9206</td>\n",
       "      <td>0.915600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   learning_rate    test     train\n",
       "0       0.977237  0.8305  0.830450\n",
       "1       0.587339  0.8997  0.899567\n",
       "2       0.353002  0.9289  0.932150\n",
       "3       0.212162  0.9395  0.942067\n",
       "4       0.127513  0.9494  0.953850\n",
       "5       0.076638  0.9523  0.952500\n",
       "6       0.046061  0.9480  0.947367\n",
       "7       0.027684  0.9392  0.937483\n",
       "8       0.016638  0.9308  0.926983\n",
       "9       0.010000  0.9206  0.915600"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Accuracy scores\")\n",
    "pd.DataFrame({\"learning_rate\": params, \"train\": scores_train, \"test\": scores_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Effect of Epochs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] test score: 0.958000, training score: 0.960850, 24.90s, memory: 1583mb\n",
      "[1] test score: 0.967000, training score: 0.972083, 24.97s, memory: 1583mb\n",
      "[2] test score: 0.970100, training score: 0.977317, 24.84s, memory: 1583mb\n",
      "[3] test score: 0.968900, training score: 0.980700, 24.63s, memory: 1583mb\n",
      "[4] test score: 0.969900, training score: 0.980733, 24.88s, memory: 1583mb\n",
      "[5] test score: 0.971500, training score: 0.983500, 24.64s, memory: 1583mb\n",
      "[6] test score: 0.971900, training score: 0.985033, 24.97s, memory: 1583mb\n",
      "[7] test score: 0.970300, training score: 0.984417, 24.71s, memory: 1583mb\n",
      "[8] test score: 0.969100, training score: 0.985050, 24.75s, memory: 1583mb\n",
      "[9] test score: 0.970600, training score: 0.986233, 24.79s, memory: 1583mb\n",
      "[10] test score: 0.967600, training score: 0.985383, 24.91s, memory: 1583mb\n",
      "[11] test score: 0.969300, training score: 0.986267, 24.80s, memory: 1583mb\n",
      "[12] test score: 0.967100, training score: 0.985833, 24.66s, memory: 1583mb\n",
      "[13] test score: 0.968900, training score: 0.987100, 24.61s, memory: 1583mb\n",
      "[14] test score: 0.963900, training score: 0.985217, 25.01s, memory: 1583mb\n",
      "[15] test score: 0.970100, training score: 0.987167, 24.56s, memory: 1583mb\n",
      "[16] test score: 0.968800, training score: 0.987417, 24.74s, memory: 1583mb\n",
      "[17] test score: 0.968400, training score: 0.988283, 24.65s, memory: 1583mb\n",
      "[18] test score: 0.965700, training score: 0.987967, 24.76s, memory: 1583mb\n",
      "[19] test score: 0.968600, training score: 0.989067, 24.68s, memory: 1583mb\n",
      "Accuracy scores\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>epochs</th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.9580</td>\n",
       "      <td>0.960850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.9670</td>\n",
       "      <td>0.972083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0.9701</td>\n",
       "      <td>0.977317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0.9689</td>\n",
       "      <td>0.980700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0.9699</td>\n",
       "      <td>0.980733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>0.9715</td>\n",
       "      <td>0.983500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>0.9719</td>\n",
       "      <td>0.985033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>0.9703</td>\n",
       "      <td>0.984417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>0.9691</td>\n",
       "      <td>0.985050</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>0.9706</td>\n",
       "      <td>0.986233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>0.9676</td>\n",
       "      <td>0.985383</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>0.9693</td>\n",
       "      <td>0.986267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>0.9671</td>\n",
       "      <td>0.985833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>0.9689</td>\n",
       "      <td>0.987100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>0.9639</td>\n",
       "      <td>0.985217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>0.9701</td>\n",
       "      <td>0.987167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>0.9688</td>\n",
       "      <td>0.987417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>0.9684</td>\n",
       "      <td>0.988283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>0.9657</td>\n",
       "      <td>0.987967</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>0.9686</td>\n",
       "      <td>0.989067</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    epochs    test     train\n",
       "0        0  0.9580  0.960850\n",
       "1        1  0.9670  0.972083\n",
       "2        2  0.9701  0.977317\n",
       "3        3  0.9689  0.980700\n",
       "4        4  0.9699  0.980733\n",
       "5        5  0.9715  0.983500\n",
       "6        6  0.9719  0.985033\n",
       "7        7  0.9703  0.984417\n",
       "8        8  0.9691  0.985050\n",
       "9        9  0.9706  0.986233\n",
       "10      10  0.9676  0.985383\n",
       "11      11  0.9693  0.986267\n",
       "12      12  0.9671  0.985833\n",
       "13      13  0.9689  0.987100\n",
       "14      14  0.9639  0.985217\n",
       "15      15  0.9701  0.987167\n",
       "16      16  0.9688  0.987417\n",
       "17      17  0.9684  0.988283\n",
       "18      18  0.9657  0.987967\n",
       "19      19  0.9686  0.989067"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEZCAYAAABSN8jfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VNXWwOHfoiolNOklSC/SRJogUkQREZQmKKggyL2C\ncLGBoJ+A5aJesSAWBBFUOhakCxqa0iRSA0RKCL0aeiCZ9f1xJjGEhEySmUzKep9nnsycss86k2TW\n7HL2EVXFGGOMSY1s/g7AGGNMxmfJxBhjTKpZMjHGGJNqlkyMMcakmiUTY4wxqWbJxBhjTKpZMjGZ\nloi8ISInROSw+/XDInJARM6KSB0/xpUu4ogTT6CIuETEPg9Mitkfj8mwRGS/iFx0fyifc//8yL2u\nLPAcUE1VS7l3eRd4RlUDVHVzKo7rEpEKqQj9hnG4yz8X77xeSMXxPGEXnJlUyeHvAIxJBQUeUNVf\nE1gXCJxU1VPxlu3w0nFTI6k4FKitqvtSeRxj0ozVTExGJ9ctEGkNLAVKub/Vfysi53D+3reISKh7\nu5IiMkdEjovIHhF5Nk4Z2URkuIj85S5jg4iUEZEV7mNucS/vmsDxRURecdecjorIVyKSX0RyJRRH\nIud03Xm5y35NRGaLyAz38TeKSO0466uJyK8ickZEtorIg3HW3SQi77njOiMiK0Ukd5xj9hSRMPf7\nMTzOfg3c5x8hIkdE5H+JxG2yMlW1hz0y5APYB7RKZN3dwIF4y1zAre7nAmwERgDZgfLAX0Ab9/oX\ngc1AJffrWkCh+OUkcuw+wG6cGkgeYC4wNaE4EtnfBVRIZN1rQCTwsDvu54G97uc5gFBgqPt5S+As\nUNm973jgF6CE+/wbAzndcbqAz4FcQG3gMlDVvd9vwGPu53mAhv7+3dsj/T2sZmIyuh9E5LT7m/Zp\nEXkqie1jvvE3AG5R1TdVNVpV9wMTge7u9U8BI1T1LwBV3aqqZxIoJyGPAmNVNUxVLwIvA93jdXDf\naH+ATfHOq02cdX+o6veqGg2MBXLjJIbGQF5VfVtVo9Rp/psP9BARAXoDg1T1qDrWqupVd5kKjFTV\nK6q6BSeRxgwOuAJUEpEiqnpRVdcnEbvJgqzPxGR0HTXhPpOkBAKlReS0+7XgND+tdL8ui/ONPyVK\nAWFxXofh/K8VB454WEY9TbzPJDzmiaqqiBxyH1Pirotz7NLALcBN3PicjsV5fhHI537+FPA6sFNE\n9gKjVXWBh+dhsghLJiajS+obfmLCgb2qWjWR9QeAiqSsw/4wTrKKEQhc5doP66Tc6LzKxm7k1DjK\nuI8pQLl425YDdgEncZquKgJbkxEHqroHp7aFiHQG5ohIYVW9lJxyTOZmzVwmq1oPnBORl9wd09lF\npKaI3OFePwl4XUQqAYhILREp5F53FLjR0ODpwBARKS8i+YA3gRmq6vJS7PVF5CERyQ4MwUkSa4F1\nwAX3OeUQkRZAe2C6qirwJTDWPfAgm4g0FpGc7jITTV4i8piI3OJ+GYHTJOatczGZhCUTk9H95B7V\nFPOYe4NtY4f0uj/Y2wN1cTryjwNfAAHuTcYCs4ClIhKB059ys3vdKGCquy+jSwLH+RL4GqfJbA9O\nk9GghOK4QZyb411nMjbO+h+BR4AzwGPAw+5+n6vAg0A7nJrIx0AvVY0ZNfY8Tq1kA3AKGMM/nwHx\nY4r7ui2wXUTOAu8Dj6hqZBLnYLIYcb6w+PAAIm2BD3D+aCep6tvx1hfE+eerCFwC+qjqDve6wUBf\n96ZfqGrMBWmFgJk4zQf7gW6qGuHTEzEmHRCR14CKqvq4v2MxJi6f1kzco1c+Bu4DauKMKqkWb7Ph\nQLCq1gGeAGISRk2cjr87cL49PhjnquNhwDJ3e/cvOKNljDHG+Imvm7kaAqHuIZJXgRlAx3jb1MBJ\nCKjqLqC8iBQFqgPrVDXSPQRyBdDJvU9HYIr7+RTgId+ehjHGmBvxdTIpzbVDFQ+6l8W1GXeSEJGG\nOKNPygDbgLtEpJCI5MFpB44ZxVJcVY8BqOpRoJjPzsCYdERVR1kTl0mP0sPQ4DHAhyKyCadzMBiI\nVtWdIvI28DNwPmZ5ImXYJHXGGONHvk4mh7h23HsZ97JYqnoOZ/oJAERkH+4Lq1R1MjDZvfxN/qnl\nHBWR4qp6TERK4IzEuY6IWJIxxpgUUNVkXcPl62auDTjTMASKSC6cqSrmxd1ARArEjHUXkX7AClU9\n735d1P2zHM5cRNPcu80DnnQ/fwJnqGSC/D1fTWZ6vPbaa36PIbM87L209zM9P1LCpzUTVY0WkYE4\nM7jGDA0OEZH+zmqdgNPRPkVEXMB2nBFcMeaKSGGcq4efUdWz7uVvA7NEpA/OdBHdfHkexhhjbszn\nfSaquhioGm/Z53Ger42/Ps665oksPw3c48UwjTHGpIJdAW881qJFC3+HkGnYe+ld9n7+I8oV5Zfj\n+vwKeH8SEc3M52eMMQCRUZHM3jGbj9d/TPsq7Xml+SupKk9E0GR2wFsyMcaYDOpAxAE+2/gZk4In\nUad4HQY0GED7Ku3Jni17qspNSTJJD9eZGGOM8ZCqsnzfcsZvGM/KsJX0qt2LlU+upOotid1NIW1Y\nzcQYYzKAiMsRTN08lfEbxpMrey4GNBjAY7UfI1+ufEnvnExWMzHGmExm2/FtjF8/npnbZ9KmYhu+\nePALmpVrhnNftPTDkokxxqTQpauXWLpnKbN3zGbZ3mUUvKkggQUDCSzgfriflytQjtIBpcmRzbOP\n3KvRV/lh5w+M3zCe3ad2079+f7Y9s41S+Uv5+IxSzpq5jDEmGS5dvcSivxYxe8dsFoUu4vaSt9Ol\nRhfaVW7HhSsXCIsII+zvMOen+/mBiAMcv3CckvlLXpNk4iecvy//zYQ/JjBh0wQqFa7EgAYDeLja\nw+TMnjPpwLzIRnPFY8nEGOMNF65cYGHoQuaEzGHJX0u4o9QddKnRhYerPUzxfMU9KuNK9BUOnj34\nT6JxJ5mYpBMeEU7uHLnpcVsPBjQYQK3itXx8VomzZBKPJRNjTEqdv3KeBbsXMHvHbH7e+zONSjei\na42uPFTtIYrmLer147nURZQrilzZc3m97OSyZBKPJRNjTHKcizzH/N3zmb1jNsv3LefOsnfSpXoX\nHqr2EEXyFPF3eGnGkkk8lkyMMQmJjIrk2IVjHD1/lCPnjnDo3CGW7FnCr/t+5a7Au+haoysdqnag\n8M2F/R2qX1gyiceSiTFZh6py5vIZjp4/Gpskjp4/ypHzR/5Z5n5+LvIcxfMVp0S+EpTMV5IS+UrQ\nrFwzOlTtQMGbCvr7VPzOkkk8lkyM8Z2LVy+ybO8y2lRow805b/ZLDFeir/DKL68wc/tMjp0/xs05\nb6ZEvhLXJImYnyXylaBkfud54ZsLk01sntvEWDKJx5KJMd53NvIsn274lPfXvk+xvMVQlOmdp3Nb\nsdvSNI59Z/bxyJxHKJGvBO/d+x5lAsr4LallNilJJpaajTEeOX3pNCODRlLxo4psOb6FZY8vY/O/\nNvN8k+dpOaUlH6//OMV36UuuOTvm0GhiIx6t9Sg/dv+RykUqWyLxM6uZGGNu6Nj5Y4z9fSwTgyfy\ncLWHGdZsGJUKV7pmm9BToTz63aMUz1ucyR0n+2ToLMDlqMs8v+R5Fv21iJldZtKgdAOfHCers5qJ\nMcZrwiPCGbRoENXHV+fi1YsE9w9mYoeJ1yUSgMpFKrOmzxpqFatF3c/rsnTPUq/Hs/vUbppMasLx\ni8cJ7h9siSSdsZqJMRlQtCuayOhI8uTM4/Wy95zew5jVY5gbMpe+t/fluSbPUSJfCY/3/3Xfrzz+\nw+N0q9GNt1q/Re4cuVMd07St0xi8eDCjW4zmX3f8K91NcpjZWAd8PJZMjDedv3KeL4O/ZMrmKdQu\nXpvO1TvTpkIbr3xYeiLaFc2qA6uYuW0m3+38jojLEZTKX4oaRWvEPmoWrUn1otVTNC359uPb+e/q\n/7L4r8UMaDCAQY0GpfhCvVMXT9H3p77s/3s/0zpNo3rR6ikq5+LViwxaNIiVYSuZ1XUWdUvUTVE5\nJnksmcRjycR4w6Gzhxi3fhwTN02k5a0tefr2p9lxYgdzQ+ay9fhW7q90P52rd6ZtpbbkzZXXq8eO\ndkWzJnwNs7bPYm7IXErmK0m3mt3oWqMrgQUD2XdmH9tPbGfHiR2xj50nd1I0b1FqFq15TaKpUbQG\nAbkDrjvGpiObeHPVm6w+sJohjYfwTINnEtwuuVSVLzZ9wfDlw3mz1Zs8Xf/pZNUodpzYQbfZ3ahb\noi6fPvAp+XPnT3VMxjOWTOKxZGJSY8uxLbz3+3v8tOsnetbuyX8a/4cKhSpcs83R80f5YecPzA2Z\ny/pD67mnwj10rt6Z9lXap/gD2aUufg//nVnbZzF7x2yK5S0Wm0AqF6mc5P7Rrmj2/70/NrnEJJuQ\nkyEUvrmwk1huqUGVIlX4afdPbDm2hRfvfJF+9fv5pNks5EQIj373KLcWvJUvHvwiydqOqvLVn1/x\n0rKXeOeed3iy7pPWrJXGLJnEY8nEJJeqsnTPUt77/T22Hd/Gsw2fpf8d/T2aVuPUxVPM2zWPuSFz\nWRm2krsC76Jz9c50rNoxyQ9Ql7pYd3BdbAIpdHMhutXoRteaXal2SzWvnJtLXRyIOMD249tjazAN\nSzfkybpP+rypLjIqkuHLhzNrxyymPDSFVre2SnC7c5HneGbhM2w6solZXWZRs1hNn8ZlEpYuk4mI\ntAU+wBk5NklV3463viDwJVARuAT0UdUd7nUvAz2BaGAr0FtVr4jIa0A/4Li7mOGqujiBY1syMR6J\njIpk+rbpjP19LIryQpMX6H5b9xR/yJ6NPMuC3QuYGzKXn/f+TINSDehcvTMPV384tjNbVdlweAOz\nts9i1vZZ5MuVj0dqPkLXml2pUbSGN08v3Vjy1xJ6/9ibx+s8zuiWo6+ZIXfz0c10m9ONu8rdxUf3\nf+STWpLxTLpLJiKSDdgNtAYOAxuA7qq6M8427wDnVPV1EakKjFfVe0QkEPgVqOZOIDOBBao61Z1M\nzqnq2CSOb8nE3NDpS6f5fOPnjFs/jtuK3cYLd75AmwptvNqscvHqRRb/tZi5IXNZGLqQ24rdRp3i\ndZi/ez65c+TmkZqP0K1mN2oWrZklmnOOXzhOnx/7cOzCMaZ1mkalwpX4/I/PefXXV/ngvg94rPZj\n/g4xy0uP94BvCISqahiAiMwAOgI742xTA/gvgKruEpHyIlIUOAtcAfKKiAvIg5OQYmT+/zrjM3vP\n7OWDtR/wzZZv6FC1A4t7LqZ28do+OVaenHnoVL0Tnap3IjIqkuX7lrPl2Bbm9ZhHrWK1skQCiatY\n3mL81OMnxm8Yz51f3kndEnU5ceEEa/qsoUqRKv4Oz6SQr5NJaSA8zuuDOAkmrs1AJ2CNiDQEygFl\nVDVYRN4DDgAXgaWquizOfgNFpBewEXheVSN8dRIm9VzqYufJnVQqXMlvN/+5cOUCv4X/xoRNE/h1\n36/0u71fmt9XO3eO3LSr3I52ldul2THTIxFhYMOB3B14N0v3LGVAwwHclOMmf4dlUsHXycQTY4AP\nRWQTTr9IMBAtIhWAIUAgEAHMEZFHVXUa8AkwWlVVRN4AxgJPJVT4yJEjY5+3aNGCFi1a+PBUTELW\nHVzHoMWDCI8I52zkWRqUbkCzss1oVq4ZTco28cow1IScuXSGNeFrWBm2klUHVrHl2BbqFK9D99u6\nM7nj5BRdi2G8q1bxWn69Pa1xBAUFERQUlKoyfN1n0hgYqapt3a+HARq/Ez7ePnuB2kA7oI2q9nMv\n7wU0UtWB8bYPBH5S1evaKKzPxL+Onj/KsGXDWLpnKWPuGUPP2j05F3mO3w/+zuoDq1l9YDUbD2+k\ncpHKscmlWblmlA4oneLjrQpbFZs89pzZQ6PSjWge2Jzmgc1pWLqhdeoa44H02AGfHdiF0wF/BFgP\n9FDVkDjbFAAuqupVEekHNFXVJ0WkDvAN0ACIBCYDG1R1vIiUUNWj7v2HAA1U9dEEjm/JxA+uRF/h\no3UfMWb1GJ6q9xQjmo9ItPZxJfoKm45sYlXYKlaHr2bNgTUE5A6ITSzNyjWj2i3Vrrv3hKoSFhHG\nyrCVscnjxIUTNC3XlOblnORxe8nbyZk9Z1qcsjGZSrpLJhA7NPhD/hkaPEZE+uPUUCa4ay9TABew\nHXgqpv9DRF4EnsQZGhwM9HUnnalAXfc++4H+qnosgWNbMklji0IX8Z8l/6Fy4cqMvW9ssjtUXepi\n18ldTs0l3Km9RFyOoGm5pjQr24z8ufOz+sBqVoat5Er0ldhaR/PA5txW7Da74ZExXpAuk4k/WTJJ\nO6GnQhmyZAi7T+3m/fve54EqD3it7MPnDrPmwBpWHVjF2ciz3FXuLpoHNqdS4UpZbiSUMWnBkkk8\nlkx871zkOd5c9SYTN01kaNOhDG482G+jtYwx3pEerzMxmZRLXXy75VuGLR9Gmwpt2PrvrZTMX9Lf\nYRlj/MSSiUm2jYc3MmjRIKJcUXzX7TsalWnk75CMMX5mycR47PiF4wxfPpyFoQt5s9WbPFH3Cevw\nNsYAdtte46FPNnxCzU9qUvCmgoQMCKF3vd6WSIwxsaxmYpI0ZvUYpm6eyqreq7w2HboxJnOxZGJu\naPz68UzcNJGVvVem6RxWxpiMxZKJSdSUP6fw9pq3LZEYY5JkycQkaM6OOby8/GV+eeIXyhcs7+9w\njDHpnCUTc52FoQsZsHAAS3sutT4SY4xHLJmYawTtD+LJH55kXo951ClRx9/hGGMyCBvbaWKtO7iO\nbrO7MbPLTBqXaezvcIwxGYglEwPAlmNb6DCjA5M7TqblrS39HY4xJoOxZGLYdXIXbb9py7j7x3l1\ntl9jTNZhySSL2//3ftp83YY3W71Jt5rd/B2OMSaDsmSShR05d4R7pt7Di3e+SO96vf0djjEmA7Nk\nkkWdvHiSe76+hz71+vBso2f9HY4xJoOzm2NlQRGXI2g9tTVtKrThv/f819/hGGPSGbvTYjyWTK53\n4coF2n7blrrF6/LR/R/ZbW+NMdexZBKPJZNrRUZF8uD0BymVvxRfdvzSppA3xiTIkkk8lkz+cTX6\nKt3mdCO7ZGdGlxnkyGaTHxhjEmb3gDcJcqmL3j/2JjIqkh+6/2CJxBjjdfapks5tP76dcevHcTX6\nKtEaTZQrimiNJtoVHfszqWVnI89SIl8JFj22iFzZc/n7lIwxmZDPm7lEpC3wAc4w5Emq+na89QWB\nL4GKwCWgj6rucK97GegJRANbgd6qekVECgEzgUBgP9BNVSMSOHaGbuY6c+kMd3xxB91rdufWQreS\nXbKTPVt2skt2cmTLkeDz7Nncr+NtW7NYTW7KcZO/T8kYkwGkuz4TEckG7AZaA4eBDUB3Vd0ZZ5t3\ngHOq+rqIVAXGq+o9IhII/ApUcyeQmcACVZ0qIm8Dp1T1HREZChRS1WEJHD/DJhOXuug4oyO3FryV\nj+7/yN/hGGOykJQkE18P52kIhKpqmKpeBWYAHeNtUwP4BUBVdwHlRaQocBa4AuQVkRxAHuCQe5+O\nwBT38ynAQz49Cz8Ys3oMpy6e4n/3/s/foRhjTJJ8nUxKA+FxXh90L4trM9AJQEQaAuWAMqp6BngP\nOICTRP5W1eXufYqp6jEAVT0KFPPZGfjBsr3LGLd+HLO7zrY+DmNMhpAeOuDHAB+KyCacfpFgIFpE\nKgBDcPpFIoA5IvKoqk5LoIxE27JGjhwZ+7xFixa0aNHCe5H7QHhEOD2/68m0ztMoHRA/7xpjjPcF\nBQURFBSUqjJ83WfSGBipqm3dr4cBGr8TPt4+e4HaQDugjar2cy/vBTRS1YEiEgK0UNVjIlIC+FVV\nqydQVobqM4mMiqT5V83pVK0TQ5sN9Xc4xpgsKj32mWwAKolIoIjkAroD8+JuICIFRCSn+3k/YKWq\nngd2AY1F5CZx5vxoDYS4d5sHPOl+/gTwo4/PI008t+Q5SuUvxUtNX/J3KMYYkyw+beZS1WgRGQgs\n5Z+hwSEi0t9ZrROA6sAUEXEB24Gn3PtuFpGpwB84Q4ODgQnuot8GZolIHyAMyPA34vhmyzcs3buU\njf022nxZxpgMx6ZTSQe2HttKq6mtWP74cmoXr+3vcIwxWVx6bOYySYi4HEHnWZ15/773LZEYYzIs\nq5n4karSaVYnSuYryScPfOLvcIwxBrCJHjOcd397l8PnDjOj8wx/h2KMMaliycRPft33K2N/H8uG\nfhvInSO3v8MxxphUsT4TPzh09hCPffcYXz/8NWULlPV3OMYYk2qWTNLYlegrdJvTjQENBtCmYht/\nh2OMMV5hHfBpbPCiwez9ey8/dv/RbptrjEmXrAM+nZuxbQbzQ+ezsd9GSyTGmEzFkkka2XFiB88u\nepafe/1MoZsL+TscY4zxKvt6nAbORZ6j08xOvNvmXeqWqOvvcIwxxuusz8THVJVuc7pR6KZCTHhw\nQtI7GGOMn1mfSTr0/tr32XdmH1/3+drfoRhjjM9YzcSHdp3cRbPJzdjQbwPlC5b3WxzGGJMcNtFj\nOvP6ytcZ0niIJRJjTKZnycRHdp7cydI9SxnYcKC/QzHGGJ+zZOIjr698nf80/g8BuQP8HYoxxvic\nJRMf2HlyJz/v+ZlnGz7r71CMMSZNWDLxgdErRjOk8RDy587v71CMMSZNWDLxspATISzbu8z6Sowx\nWYolEy8bvXI0zzV5zmolxpgsxZKJF+04sYNf9v3CgAYD/B2KMcakKUsmXjR6xWiea2y1EmNM1mPJ\nxEu2H9/Or/t/ZUBDq5UYY7KeJJOJiDwrIimeM11E2orIThHZLSJDE1hfUES+E5HNIrJWRGq4l1cR\nkWAR2eT+GSEig9zrXhORg+51m0SkbUrj85bXV77O802eJ1+ufP4OxRhj0pwnEz0WBzaIyCbgS2CJ\npxNeiUg24GOgNXDYXc6PqrozzmbDgWBV7SQiVYHxwD2quhuoF6ecg8B3cfYbq6pjPYnD12JqJRM7\nTPR3KMYY4xdJ1kxU9RWgMjAJeBIIFZG3RKSiB+U3BEJVNUxVrwIzgI7xtqkB/OI+1i6gvIgUjbfN\nPcAeVT0YZ1myJiHzpdErR1utxBiTpXnUZ+KuiRx1P6KAQsAcEXkniV1LA+FxXh90L4trM9AJQEQa\nAuWAMvG2eQSYHm/ZQBH5U0QmikgBT87DF7Yd30bQ/iAbwWWMydKSbOYSkcHA48BJYCLwoqpedTc9\nhQIvpTKGMcCH7ma0rUAwEB3n+DmBDsCwOPt8AoxWVRWRN4CxwFMJFT5y5MjY5y1atKBFixapDPda\no1eM5oUmL5A3V16vlmuMMWklKCiIoKCgVJWR5P1MRGQU8KWqhiWwrrqqhtxg38bASFVt6349DKei\n8/YN9tkH1FLV8+7XHYBnYspIYPtA4CdVrZ3AOp/ez2Trsa20+boNewbtsWRijMk0fHU/k0XA6TgH\nCRCRRgA3SiRuG4BKIhIoIrmA7sC8eEEXcNc+EJF+wIqYROLWg3hNXCJSIs7LTsA2D87D60avHM0L\nd1qtxBhjPKmZBAO3x3zFdzdvbVTV2z06gDNs90OcxDVJVceISH+cGsoEd+1lCuACtgNPqWqEe988\nQBhQQVXPxSlzKlDXvc9+oL+qHkvg2D6rmVitxBiTWaWkZuJJMvlTVevGW7YloWal9MaXyaTLrC40\nKdOE5+983iflG2OMv/iqmWuviAwSkZzux2Bgb8pCzBy2HNvCmvA1/OuOf/k7FGOMSRc8SSb/Au4E\nDuEM7W0EPO3LoNK7UStG8eKdL1rzljHGuCXZzJWR+aKZa/PRzbT9ti17Bu0hT848Xi3bGGPSg5Q0\nc3lynclNONdw1ARuilmuqn2SHWEmMHrlaF668yVLJMYYE4cnzVxfAyWA+4AVOFenn7vhHpnUn0f/\n5Lfw3+h/R39/h2KMMemKR0ODVbVezAgu9zUhq1S1cdqEmHLebubqNLMTd5W7iyFNhnitTGOMSW98\nNZrrqvvn3yJyG1AAKJbc4DK6P4/+ydqDa20ElzHGJMCTKegnuO9n8grO1ev5gFd9GlU6NGrFKF5q\n+hI357zZ36EYY0y6c8Nk4r7a/ayqngFWAhXSJKp0JvhIMOsOrmNap2n+DsUYY9KlGzZzqaqL1M8K\nnOGNWjGKoU2HWq3EGGMS4UmfyTIReUFEyopI4ZiHzyNLJ4KPBLPh8Aaerp+lr9M0xpgb8mQ0174E\nFquqpvsmL2+M5uo4oyOtb23NoEaDvBSVMcakbz65aFFVb015SBnbpiOb2Hh4IzM6z/B3KMYYk655\ncgX84wktV9Wp3g8nfXlj5RsMazrM+kqMMSYJnjRzjYvz8iagNbBJVbv4MjBvSE0z19XoqxR+pzDh\nQ8IpeFNBL0eWdZw/D7t3w65dcOEC9OwJN92U9H7GGP/xVTPXs/EOUhDI9O0+wUeDqVCogiUSD0RH\nw4EDTsKI/zh9GipVgqpVnWTy9tswfjzce6+/ozbGeJMnFy3GdwHI9P0oqw+spmnZpv4OI135+++E\nE8aePVCkiJMwqlaFatWgY0fneblykC3OmMGFC+Hf/4b69eH996F0af+djzHGezzpM/kJiGkrygbU\nAGb5Mqj0YE34GjpX7+zvMPxOFX78EV58EY4ehSpV/kkaXbo4P6tUgbwe3tqlXTto2RLGjIE6dWD4\ncHj2WciZ07fnYYzxLU/6TO6O8zIKCFPVgz6NyktS2meiqpR4rwQb+m2gXIFyPogsY9i7FwYNcmoe\nH38MrVqBJKsV9cZCQ2HAACdJffopNLWKoDHpgq8mejwArFPVFaq6BjglIuVTEF+G8dfpv8idPXeW\nTSSRkfDGG9CwITRrBps3Q+vW3k0kAJUrw5Il8Oqr8Mgj0KcPnDjh3WMYY9KGJ8lkNuCK8zravSzT\nWn1gNc3KNfN3GH6xbBnUrg0bNzqPYcMgVy7fHU8EunaFHTugYEGoWRMmTACXK+l9jTHphyfJJIeq\nXol54X7uw48X/8uKne+HD0P37tCvH/zvf/DDD1C+fNodPyAAxo6Fn3+GKVPgzjshODjtjm+MSR1P\nkskJEenNaY+IAAAgAElEQVQQ80JEOgInfReS/60JX5NlaiZRUfDhh05neKVKsH07PPig/+KpUwdW\nrYKnn4b774fBgyEiwn/xJOTYMX9HYEz640ky+RcwXEQOiMgBYCjg8X1rRaStiOwUkd0iMjSB9QVF\n5DsR2Swia0Wkhnt5FREJFpFN7p8RIjLIva6QiCwVkV0iskRECngaT1JOXDjB0fNHua3Ybd4qMt36\n7Te44w6YN8/5AH/jDciTDm5tny2b03+yfTtcugQ1asD06c7IMn86fBieeAJKlnQSsDHmH0kmE1Xd\n475Fbw2ghqreqap/eVK4+34oH+PcP74m0ENEqsXbbDgQrKp1gCeAj9zH3a2q9VT1dqA+zvUt37n3\nGQYsU9WqwC/Ay57E44k14WtoUrYJ2bNl91aR6c7Jk9C3rzO0d+hQp5+kWvzfSjpQpIjTfzJ3Lrzz\nDtxzj5Ng0tqlS06irV3buS5myxZ49134/vu0j8WY9CrJZCIib4lIQVU9r6rn3bWCNzwsvyEQqqph\nqnoV58r5jvG2qYGTEFDVXUB5ESkab5t7gD1xhiR3BKa4n08BHvIwniStPrCaZmUzZxOXywUTJzqd\n3HnzQkgI9Ojh/VFa3ta4MWzY4FwI2aoVdOjg1KR8XVNRhZkznUS7ebMTw1tvwW23ObW5/v1h7Vrf\nxmBMRuFJM9f9qvp3zAv3XRfbeVh+aSA8zuuD7mVxbQY6AYhIQ6AcUCbeNo8A0+O8Lqaqx9zxHMWL\n96T35kiuFSugRAkYMsSZbsSf/vzTuY5j4kRYvNhppingtcZB38uRw7nmZf9+58LHPn2gSROn1hId\n7f3jbdjgDIt++234+muYPRtujTPvw+23OwMFHn4Y/vKonm585Z13nL62WbNsFKA/eTKdSnYRya2q\nkQAicjOQ24sxjAE+FJFNwFYgGGf4Me7j5QQ64DRtJSbR76gjR46Mfd6iRQtatGiRaCEXr15k6/Gt\nNCjdwMPQExca6lw78f77sGkT1KsHbds6V5LXrZvq4j2i6nxz/uILmD8f3nwTnnrq2ulNMpqbb4Z/\n/csZdfbjj05z07Bh8Nxz8OSTzvrUOHTIuSr/55+d9+vxxyF7Ii2e998Po0Y5P3//HW65JXXHNsl3\n5Qp88AGMGOGMBhw1Cl55Bbp1S/z3Zq4XFBREUFBQ6gpR1Rs+cDrcVwNPAX3dz19Kaj/3vo2BxXFe\nDwOGJrHPPiBfnNcd4pbhXhYCFHc/LwGEJFKWJkfQviBt9EWjZO2TkFOnVKtUUZ0w4Z9lf/+t+s47\nqqVKqd5zj+qSJaouV6oPlaDDh1Xfflu1WjXVypVV//tf1RMnfHMsf3O5VFetUu3QQbVYMdWRI1N2\nrhcvqo4erVq4sOrLL6uePev5vsOHqzZp4pRh0taMGaotWjjPXS7VxYud30W1aqrffKMaFeXf+DIq\n92dnkp/xcR+ebQRtgf8B7wKvAuM93C878BcQiHNtyp9A9XjbFAByup/3A76Kt3468ES8ZW/HJCV3\nshuTyPGT9Qa+seINfX7J88naJ77ISOeP+/lEiomMVJ08WbVmTdU6dZw/+CtXUnXI2HK/+061fXvV\nggVV+/RRXb3adwkrPQoJUe3bV7VQIdVnnlH966+k93G5VKdPVy1XTrVLF9W9e5N/XJdL9dFHVTt1\nsg+vtNa0qeqcOdcuc7lUf/5ZtVkz50vd1KmqV6/6J76MypfJpJ47kewHfgUGenwAJxHtAkKBYe5l\n/YGn9Z/ayy53bWMOUCDOvnmAE0D+eGUWBpa591sKFEzk2Ml6A9t+01a/D/k+WfvE5XI5H+IdOiT9\noeJyqS5Y4CSecuVUx45N3rfhGFu2qA4Zolq0qGrz5k6iOncuReFnGkeOOLWFW25xEsS6dQlvt369\n6p13qtarp7piReqOefmy87scMiR15RjPbdqkWqZM4onC5VJdvtz5v6hUyfnfsKTiGa8mE6AK8Jr7\nQ34FMBBnksdkHcCfj+Qkk6joKC3w3wJ6/Pxxj/eJ7513VOvWTf6H+YYNqt26qRYpojpsmNNMdSNn\nzqh+8onqHXeoli6tOmKEamhoisPOtM6dU/3gA9XAQOcD5aefVKOjVQ8eVH38cdWSJVW//NJ7tYnT\np1Vr1HCO6UunT6s+/bTqY4+l7AtIZvHUU6pvvunZtkFBqi1bqlaooDppkndaAzIzbycTFzAPKBtn\n2d7kHsCfj+Qkkz+P/KlVxlXxePv4vv/e+WAPD09xEbpnj+rAgU4zTZ8+qjt2/LMuOlp16VLVHj1U\nCxRwks/ixdas4omrV1WnTXNqIFWqOEk7uf0intq/3/k7mDvX+2WrOk2ZpUo5zXh9+6rWru0cM6s5\nedJpzj12LHn7rVyp2rq1avnyTp9mZKRv4svovJ1MHsK5LmQf8BnQCtiX3AP485GcZPLxuo+1zw99\nPN4+rj/+cJpUNmxI0e7XOXnS6QwuXtzpAxk+3GkKu/121XHjnA5+k3wxnfX79vn2ODF/D7/95r0y\njxxxmuyqVHE+EFWd8xk71qlhefNYnnK5VNes8U+/3DvvOLXLlFq9WrVNG6fW+tlnTjOl+YdP+kyA\nvMCjwE84V6F/Ctyb3AP545GcZNJjTg/9ctOXHm8f4+BBp93WF99EL150/tBfeEE1ONj75RvfWbhQ\ntUQJ1d27U1eOy6X61VfOSLWXX1a9dOn6bebPd/rMvvkmdcdKjoMHVdu2Vc2WzamVp6WoKKdmsX59\n6sv67TfnPMqWdWp6776rOm+e6q5dWbspLCXJJMmbY8UlIoWArsAjqtra4x39JDk3xyr3fjmWP76c\nykUqe1z+hQtw113OmPZhN7oKxmRJEyY418H89hsUjT+ngwf273eusj9xAiZNcq5VSsy2bc4EnT17\nOtda+PJaohkznAk4n3nGuWZqxAhnhoC0uq5j3jznGqB167xXZnCwc01W3NtRHz7szJwdc2fRuI9b\nbkmfM0f88YdzEW/DhqkrJyU3x0pWMsloPE0mByIO0OCLBhx9/iji4V+IywWdO0OhQs4/enr8wzL+\nN2IE/PKL8/D0gsroaBg/HkaPdi5yfe45z25rfPy4c0V+qVLO1fnenrTz1CkngWzdClOnOpOEqjpf\nqPr3h169vHu8xNx7r3Mxac+evj3O5cvO7AZxE0zMQ+T6BFO7tjPztr+EhkLz5vDZZ87UQ6mRkmTi\n96YoXz7wsJnr2y3faqeZnTzaNsaLL6refbd14Jkbi7kG5eGHPRsssX27c9HdXXep7tyZ/ONdvqza\nq5dq/fpOU5S3zJ/vdPwPGXL9xZkrVqjeemva/C+EhDh9if7s43C5nI7/lStVv/jCaYZ+8EGnn2zS\nJP/EdPiw8zv44gvvlIevrjPJqA9Pk8m/5/9b3/vtPY+2VVWdONEZt37ypMe7mCws5hqU//wn8W0i\nI51BF7fc4gz7jo5O+fFcLtW33nL68jZuTHk5qs6It759nT6KoKDEt2vbVnX8+NQdyxMDB6q+8orv\nj5MSu3Y5Cffrr9P2uH//7VwA/cYb3ivTkkkKk0ntT2vruoOJXNkWzy+/OJ2hKfnWaLKu06dVq1dX\nff/969etX69aq5Zqu3aqBw5475hz5zrJafbslO0fU+N46inViIgbb/vHH86osgsXUnYsT0REOMPm\nUzP83te2b3cGXsycmTbHu3TJ+aIyYIB3R9VZMklBMjlz6YzmeyufXolKeujGrl1OIvnllyQ3NeY6\n+/c731xjRv5duOA0kRQvrvrtt74ZYrtpkzNS6fXXPS//0iXV555zksO8eZ4fq2tXZ044Xxk3zhke\nnd5t3uz8Tn09yi0qynk/unb1/vVmlkxSkEwW7l6oLb9qmeR2J086TVsTJya5qTGJ2rjRqS2MG6da\nsaJzEerxlE+64JHDh1UbNHD6bhIaWhw/vho1nA+p5E6YGRLiDFE+cyblsSbG5VKtWjX1096klT/+\ncL54zp/vm/JdLufC1VatfNN/lJJkkoEnI/cOT+5fcuWKM3Lr4YedKdyNSan69Z2RVp984tyeYNq0\nlA0bTo6SJZ1760RFQYsWcPTo9dtcveqMHrv/fmcE2qxZyZ9Sv1o1aN8e3nvPK2FfY9kyyJXLGTmW\nEdx+uzOEuXdvWLrU++W/8YYz5Pz77yG3N28IkhrJzT4Z6YEHNZPmk5vr4tDFia53uVR791bt2NGm\nLjEZm8ul+tprzlXff/75z/KQEGeetzZtUt8fsX+/M43/0aOpKye+Dh2uvaVDRrFqlVMT/fVX75U5\nYYIzx9iRI94rMz6smSt5ySQyKlLzvplXIy4n3rs4Zowzp9P58zcsypgMY/p05wPu+++dAQFFijgj\nyLzVZzNokOrgwd4pS9WZ/qZIkYz7P7h8ufN+r16d+rK+/97py/L1xK6WTJKZTH4P/13rflY30fVz\n5zrDK705Xt+Y9GDtWmfUUZMmqZ/yJb6jR53aSViYd8p78UVnQEBGtnix05+0dm3Ky1i50ikjtcO9\nPZGSZJKlr4D/32//I+zvMMa1G3fdOlUoU8a5x3jjxr6M0hj/OH/euSrfF9OgvPIKHDnizA6RGhcv\nQmCgM9VJxYreic1f5s93+lwXLXL6VJJj61a45x749lvnp6+l5Ar4LN0Bf6PO9z//hLx5LZGYzCtf\nPt/Np/XCC04H9K5dqStn+nRo1CjjJxJwBid89hm0awdbtni+X1iYs8+HH6ZNIkmpLJtMVJXVB1bT\ntFzTBNcvWOD8Ao0xyVewoJNQXn015WWowscfw7PPei8uf3v4YScp3Hcf7NiR9PYnTzrbvvgidO/u\n+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\nEzMzK+1fSyIvTb+9gPkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109526ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "epochs = np.arange(20)\n",
    "learning_rate = 0.077\n",
    "scores_train, scores_test = [], []\n",
    "nn = NeuralNetwork([784,100,10], learning_rate, random_state = 0)\n",
    "indices = np.arange(X_train.shape[0])\n",
    "\n",
    "timer.reset()\n",
    "for _ in epochs:\n",
    "    np.random.shuffle(indices)\n",
    "    for i in indices:\n",
    "        nn.fit(X_train[i], y_train_ohe[i])\n",
    "    scores_train.append(nn.score(X_train, y_train))\n",
    "    scores_test.append(nn.score(X_test, y_test))\n",
    "    timer(\"test score: %f, training score: %f\" % (scores_test[-1], scores_train[-1]))\n",
    "\n",
    "plt.plot(epochs, scores_test, label = \"Test score\")\n",
    "plt.plot(epochs, scores_train, label = \"Training score\")\n",
    "plt.xlabel(\"Epochs\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend(loc = \"lower right\")\n",
    "plt.title(\"Effect of Epochs\")\n",
    "\n",
    "print(\"Accuracy scores\")\n",
    "pd.DataFrame({\"epochs\": epochs, \"train\": scores_train, \"test\": scores_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Effect of size (num of nodes) of the single hidden layer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] size: 50, test score: 0.944500, training score: 0.942283, 10.59s, memory: 1583mb\n",
      "[1] size: 100, test score: 0.952500, training score: 0.952617, 24.13s, memory: 1651mb\n",
      "[2] size: 150, test score: 0.952900, training score: 0.955067, 36.26s, memory: 1744mb\n",
      "[3] size: 200, test score: 0.955400, training score: 0.957283, 47.92s, memory: 1786mb\n",
      "[4] size: 250, test score: 0.957700, training score: 0.957767, 1421.18s, memory: 1786mb\n",
      "[5] size: 300, test score: 0.955100, training score: 0.957450, 137.31s, memory: 1786mb\n",
      "[6] size: 350, test score: 0.956100, training score: 0.958467, 156.60s, memory: 1786mb\n",
      "[7] size: 400, test score: 0.955800, training score: 0.956750, 204.31s, memory: 1786mb\n",
      "[8] size: 450, test score: 0.955300, training score: 0.957833, 274.12s, memory: 1786mb\n",
      "[9] size: 500, test score: 0.956200, training score: 0.957267, 339.84s, memory: 1792mb\n",
      "Accuracy scores\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>layer</th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>50</td>\n",
       "      <td>0.9445</td>\n",
       "      <td>0.942283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>0.9525</td>\n",
       "      <td>0.952617</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>150</td>\n",
       "      <td>0.9529</td>\n",
       "      <td>0.955067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>200</td>\n",
       "      <td>0.9554</td>\n",
       "      <td>0.957283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>250</td>\n",
       "      <td>0.9577</td>\n",
       "      <td>0.957767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>300</td>\n",
       "      <td>0.9551</td>\n",
       "      <td>0.957450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>350</td>\n",
       "      <td>0.9561</td>\n",
       "      <td>0.958467</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>400</td>\n",
       "      <td>0.9558</td>\n",
       "      <td>0.956750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>450</td>\n",
       "      <td>0.9553</td>\n",
       "      <td>0.957833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>500</td>\n",
       "      <td>0.9562</td>\n",
       "      <td>0.957267</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   layer    test     train\n",
       "0     50  0.9445  0.942283\n",
       "1    100  0.9525  0.952617\n",
       "2    150  0.9529  0.955067\n",
       "3    200  0.9554  0.957283\n",
       "4    250  0.9577  0.957767\n",
       "5    300  0.9551  0.957450\n",
       "6    350  0.9561  0.958467\n",
       "7    400  0.9558  0.956750\n",
       "8    450  0.9553  0.957833\n",
       "9    500  0.9562  0.957267"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nyvsOGAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d0c54a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_layers = 50 * (np.arange(10) + 1)\n",
    "learning_rate = 0.077\n",
    "scores_train, scores_test = [], []\n",
    "\n",
    "timer.reset()\n",
    "for p in num_layers:\n",
    "    nn = NeuralNetwork([784, p,10], learning_rate, random_state = 0)\n",
    "    indices = np.arange(X_train.shape[0])\n",
    "    for i in indices:\n",
    "        nn.fit(X_train[i], y_train_ohe[i])\n",
    "    scores_train.append(nn.score(X_train, y_train))\n",
    "    scores_test.append(nn.score(X_test, y_test))\n",
    "    timer(\"size: %d, test score: %f, training score: %f\" % (p, scores_test[-1], scores_train[-1]))\n",
    "\n",
    "plt.plot(num_layers, scores_test, label = \"Test score\")\n",
    "plt.plot(num_layers, scores_train, label = \"Training score\")\n",
    "plt.xlabel(\"Hidden Layer Size\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend(loc = \"lower right\")\n",
    "plt.title(\"Effect of size (num of nodes) of the hidden layer\")\n",
    "\n",
    "print(\"Accuracy scores\")\n",
    "pd.DataFrame({\"layer\": num_layers, \"train\": scores_train, \"test\": scores_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Effect of using multiple hidden layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] size: 1, test score: 0.952500, training score: 0.952617, 32.26s, memory: 1792mb\n",
      "[1] size: 2, test score: 0.930600, training score: 0.929183, 52.31s, memory: 1792mb\n",
      "[2] size: 3, test score: 0.542500, training score: 0.539083, 58.62s, memory: 1792mb\n",
      "[3] size: 4, test score: 0.095800, training score: 0.098633, 62.20s, memory: 1792mb\n",
      "[4] size: 5, test score: 0.095800, training score: 0.098633, 64.18s, memory: 1792mb\n",
      "Accuracy scores\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>layer</th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.9525</td>\n",
       "      <td>0.952617</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.9306</td>\n",
       "      <td>0.929183</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.5425</td>\n",
       "      <td>0.539083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.0958</td>\n",
       "      <td>0.098633</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.0958</td>\n",
       "      <td>0.098633</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   layer    test     train\n",
       "0      1  0.9525  0.952617\n",
       "1      2  0.9306  0.929183\n",
       "2      3  0.5425  0.539083\n",
       "3      4  0.0958  0.098633\n",
       "4      5  0.0958  0.098633"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nlDtSUlIILwTdBoW6BeG1tASTeMRprWzb6zz+SWvFJCWy95DTitl3LJGDx51WzGF1usmSw5IIP14a\nORqDHokhJclpyUSmOudi0lsxRWKI9mnFlCsVw103V6FavJ18KShCtQXhq3r16owcOZKrr746fV1q\naipDhgzhww8/5MCBA7Ro0YLhw4dTunRpDh06RLdu3Zg1axapqanUrl2br7/+mueee45hw4YRGRlJ\nREQE3bt35+WXXz7hWBm9Njo6mt27d9O3b19mzZrFsWPHaN68OePHjwdg+PDhvPbaa+zbt4/GjRvz\n1ltvUb58eY4ePUqxYsV46623eOWVV4iMjOSXX35hzZo19O7dm1WrVlGhQgWef/552rZtm6f1msZa\nEAVMRFgEccXiiCsWB7E408ifAt8Ek5Zktu/7txWz80Aiuw/9zt7Diew8kshG91zM/sTtvDrwSn4a\nMIEa1exPwHjn5Zdf5ptvvmHRokXExsZy33330adPH0aOHMn7779PSkoK27ZtIyIiglWrVhEZGckr\nr7zCwoUL6dWrV4ZdVBm9FuDWW2+lcuXK/PbbbxQrVowlS5YAMGPGDIYMGcLs2bOpVasWDz74IF26\ndGHmzJnp+50+fTorV64kKiqKAwcO0Lx5c4YOHUr79u1ZsWIFLVq04IILLqBGjRrBr7y84PVQtKcw\nZK2a3HHk+BGtPbiFlry9k/65JdnrcEwuyOr/A3LncTqqVaumc+bMOWFd9erVddGiRenPN27cqMWL\nF1dV1bfeekubNGmia9asOWlf9evX13HjxmV4rIxeu2nTJo2KitKkpKSTXtOpUycdMGBA+vPExEQN\nCwvT7du365EjR1REdMmSJenbR48erc2bNz9hH3fccYf+97//zTCuYMrob8Bdn6PPXetjKISiIqJY\n8djnlK+5lQv638f27aHdNWFOX26liNy2ZcsWWrduTVxcHHFxcdSpUweAPXv20K1bN6666iratWtH\n1apVefLJJ7PdjXb33XfTuHHj9Nc+9dRTqCpbtmyhfPnyFC9e/KTX/P3338TH/3syMjo6mtKlS7N1\n679zmFWuXDl9efPmzcybNy899tjYWD7//HO2bduW0+oIOZYgCqniRYrzQ7+plKrxM+c98hC7dlmS\nMHmvcuXKfPvtt+zZs4c9e/awd+9ekpKSiIuLIzIykkGDBrF27Vrmz5/Pp59+yoQJEwDSr4zKSJEi\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a6ffeb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_layers = np.arange(5) + 1\n",
    "learning_rate = 0.077\n",
    "scores_train, scores_test = [], []\n",
    "\n",
    "timer.reset()\n",
    "for p in num_layers:\n",
    "    layers = [100] * p\n",
    "    layers.insert(0, 784)\n",
    "    layers.append(10)\n",
    "    \n",
    "    nn = NeuralNetwork(layers, learning_rate, random_state = 0)\n",
    "    indices = np.arange(X_train.shape[0])\n",
    "    for i in indices:\n",
    "        nn.fit(X_train[i], y_train_ohe[i])\n",
    "    scores_train.append(nn.score(X_train, y_train))\n",
    "    scores_test.append(nn.score(X_test, y_test))\n",
    "    timer(\"size: %d, test score: %f, training score: %f\" % (p, scores_test[-1], scores_train[-1]))\n",
    "\n",
    "plt.plot(num_layers, scores_test, label = \"Test score\")\n",
    "plt.plot(num_layers, scores_train, label = \"Training score\")\n",
    "plt.xlabel(\"No of hidden layers\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend(loc = \"upper right\")\n",
    "plt.title(\"Effect of using multiple hidden layers, \\nNodes per layer=100\")\n",
    "\n",
    "print(\"Accuracy scores\")\n",
    "pd.DataFrame({\"layer\": num_layers, \"train\": scores_train, \"test\": scores_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Rotation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(28, 28)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x10b8d8470>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nA4FpLwM9vNrYAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109526f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img = scipy.ndimage.interpolation.rotate(X_train[110].reshape(28, 28), -10, reshape=False)\n",
    "print(img.shape)\n",
    "plt.imshow(img, interpolation=None, cmap=\"Greys\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] test score: 0.965700, training score: 0.965917, 469.78s, memory: 1792mb\n",
      "[1] test score: 0.970400, training score: 0.974217, 293.73s, memory: 1792mb\n",
      "[2] test score: 0.972600, training score: 0.975783, 293.26s, memory: 1792mb\n",
      "[3] test score: 0.968800, training score: 0.976300, 224.23s, memory: 1792mb\n",
      "[4] test score: 0.970900, training score: 0.978750, 220.24s, memory: 1792mb\n",
      "[5] test score: 0.966400, training score: 0.975817, 234.37s, memory: 1792mb\n",
      "[6] test score: 0.973600, training score: 0.980567, 226.90s, memory: 1792mb\n",
      "[7] test score: 0.970600, training score: 0.977233, 216.35s, memory: 1792mb\n",
      "[8] test score: 0.971800, training score: 0.981417, 215.35s, memory: 1792mb\n",
      "[9] test score: 0.972400, training score: 0.982817, 236.76s, memory: 1792mb\n",
      "Accuracy scores\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>epochs</th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.9657</td>\n",
       "      <td>0.965917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.9704</td>\n",
       "      <td>0.974217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0.9726</td>\n",
       "      <td>0.975783</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0.9688</td>\n",
       "      <td>0.976300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0.9709</td>\n",
       "      <td>0.978750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>0.9664</td>\n",
       "      <td>0.975817</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>0.9736</td>\n",
       "      <td>0.980567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>0.9706</td>\n",
       "      <td>0.977233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>0.9718</td>\n",
       "      <td>0.981417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>0.9724</td>\n",
       "      <td>0.982817</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   epochs    test     train\n",
       "0       0  0.9657  0.965917\n",
       "1       1  0.9704  0.974217\n",
       "2       2  0.9726  0.975783\n",
       "3       3  0.9688  0.976300\n",
       "4       4  0.9709  0.978750\n",
       "5       5  0.9664  0.975817\n",
       "6       6  0.9736  0.980567\n",
       "7       7  0.9706  0.977233\n",
       "8       8  0.9718  0.981417\n",
       "9       9  0.9724  0.982817"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\niRIlKFSoEO3atTt33MCBA6lUqRJFihShdevW7Nu3D4AzZ86QJUsWBg0aRKVKlbjKW8nsn3/+oVGj\nRhQsWJArrriC774LyWoUqSOQ0Ybp9eE+XuIaj2qso5aNSnCfqCjVhg1V33wzoFMak6joaNU77lB9\n4YXQX+vxxy+eQj/Qv49wKleunM6YMeOC9/r166c333yz7tmzR8+cOaNdunTRhx56SFVVP/74Y73/\n/vv1zJkzGh0drYsWLdKTJ0+qqmrdunV17Nix8V4roWNvu+027dSpkx49elQjIyN1zpw5qqo6depU\nLVGihP7zzz965swZ7datm955552qqnr69GkVEW3WrJkeOXJET58+rUePHtUSJUrouHHjVFV10aJF\nWqhQId24cWNwf3ABiu93gABHoof9Jh/KRyB/IJsObtLC/QvrqchTCe73zjuqN93kEokxwbJnj+rl\nl6v++mvorrF/v2qBAqo7d174fmJ/H67JP+WPlIgrgZQvX17nzZt37vWmTZs0V65cqqr62WefacOG\nDfWff/656Fx169bVMWPGxHut+I7dvHmz5syZU0+cOHHRMR06dNC+ffuee3348GHNkiWL7t2791wC\nmT9//rntI0aMOJdgYnTu3Fn79+8fb1yhlNIEkunbQL5Y8gURV0dwSbZL4t1nyRLX42rhQshgVZgm\nzIoVc1PhRES437PixYN/jYED3Vrnl1+etOM0jXbQ2r59O02bNj03DYd6gR48eJCHH36YPXv20Lp1\na06cOEFERARvvPFGQFN2PPLII+zdu/fcsZ06deL1119n+/btFC1alFy5cl10zK5du2jUqNG51/ny\n5SNv3rzs3LmTfPnyAVDKr5Fr69atzJo1i4IFC56LPTo6+tzrdCeQLJNeHyTy9eds1Fkt/l5xXf1v\n/DPdnTihWrWqagIlX2NS7KWXVG+/Pfjrtp84oVq0qOqaNRdvS+zvIy2IqwRSrlw5XbJkSaLHbt68\nWStXrnyu2qpevXoJlkDiOzYpJZBDhw5plixZdN++fedKIDv9in7Dhw/Xe+65J6AYUkN8vwMEWALJ\n1I3o3639jiqFqlCtcPwj1f77XzcAzK/NzJige/llOHMG+vUL7nmHD4cbb4SqVYN73nDq3r07vXv3\nZseOHQDs27ePH70+0TNmzGD16tWoKrlz5yZbtmznej4VK1aMTZs2xXve+I4tV64cN998Mz179uTo\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a6ffcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "epochs = np.arange(10)\n",
    "learning_rate = 0.077\n",
    "scores_train, scores_test = [], []\n",
    "nn = NeuralNetwork([784,250,10], learning_rate, random_state = 0)\n",
    "indices = np.arange(X_train.shape[0])\n",
    "\n",
    "timer.reset()\n",
    "for _ in epochs:\n",
    "    np.random.shuffle(indices)\n",
    "    for i in indices:\n",
    "        for rotation in [-10, 0, 10]:\n",
    "            img = scipy.ndimage.interpolation.rotate(X_train[i].reshape(28, 28), rotation, cval=0.01, order=1, reshape=False)\n",
    "            nn.fit(img.flatten(), y_train_ohe[i])\n",
    "    scores_train.append(nn.score(X_train, y_train))\n",
    "    scores_test.append(nn.score(X_test, y_test))\n",
    "    timer(\"test score: %f, training score: %f\" % (scores_test[-1], scores_train[-1]))\n",
    "\n",
    "plt.plot(epochs, scores_test, label = \"Test score\")\n",
    "plt.plot(epochs, scores_train, label = \"Training score\")\n",
    "plt.xlabel(\"Epochs\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend(loc = \"lower right\")\n",
    "plt.title(\"Trained with rotation (+/- 10)\\n Hidden Nodes: 250, LR: 0.077\")\n",
    "\n",
    "print(\"Accuracy scores\")\n",
    "pd.DataFrame({\"epochs\": epochs, \"train\": scores_train, \"test\": scores_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Which charaters NN was most wrong about?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x11e2012e8>"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n4IJvZlYTLvhmZjUxbMGXNFPSuZL+LOlhSb9I58gxM7NxJE8P/zSy3Si3ArYGzk/zzMxsHMlT8KdH\nxGkRsTLdfgRMLziXmZn1WJ6C/6ikwyRNTrfDgEeLDmZm1kt9fbORNKpbX9/ssf4xRiXPgVezgFOB\nN5PtSHsVMCci7i08nPfDH1cZqpKjChl6k6MKGaqSowoZepOjDD7wqvNaJsQfUhUyVCVHFTL0JkcV\nMlQlRxUy9CZHGToV/I5ny5T0L0OsLyLiCz1JZmZmpRjq9MjPtJm3EXAk8DLABd/MbBzJNaQjaRPg\naLJifw7wfyLi4YKzeUhnnGWoSo4qZOhNjipkqEqOKmToTY4ydD2kk160OXAM8CFgPrBrnrNkmplZ\n9Qw1hv9V4L1kV7d67WiuZWtmZmOv45COpNXAc8BK1v4eJLKNtlMLD+chnXGVoSo5qpChNzmqkKEq\nOaqQoTc5ytD1kE5E+MRqZmYTiIu6mVlNuOCbmdWEC76ZWU244JuZ1YQLvplZTbjgm5nVhAu+mVlN\nuOCbmdWEC76ZWU244JuZ1YQLvplZTbjgm5nVRKEFX9IPJPVLurll3jRJCyXdKekiSZsWmcHMzDJF\n9/BPA94+aN7xwCUR8WrgN8DcgjOYmRkFF/yIuAIYfIWsA8munkW6f0+RGczMLDMWY/hbRkQ/QEQs\nA7YcgwxmZrUz5DVtSzLk5WPmzZv34nSj0aDRaBQcx8xsfGk2mzSbzWGX63iJw16RNAs4PyJelx7f\nDjQiol9SH7AoInbq8Fpf4nAcZahKjipk6E2OKmSoSo4qZOhNjjJ0usRhGUM6SrcBC4CPpOnDgfNK\nyGBmVntF75Z5FnAV8CpJ90r6KHAysJ+kO4G3pcdmZlawwod0RsNDOuMrQ1VyVCFDb3JUIUNVclQh\nQ29ylGEsh3TMzKwCXPDNzGrCBd/MrCZc8M3MasIF38ysJlzwzcxqwgXfzKxEfX2zkTTiW1/f7BG3\n7f3wJ8j+vVXIUJUcVcjQmxxVyFCVHFXIUJUcw2fwfvhmZjXngm9mVhMu+GZmNeGCb2ZWEy74ZmY1\n4YJvZlYTLvhmZjXhgm9mVhMu+GZmNeGCb2ZWEy74ZmY14YJvZlYTLvhmZjXhgm9mVhMu+GZmNeGC\nb2ZWEy74ZmY14YJvZlYTLvhmZjXhgm9mVhNjVvAl/a2kOyTdJem44lpqFrfq3JpjHSBpjnUAqpEB\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1103ba048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "missed = y_test_pred != y_test\n",
    "pd.Series(y_test[missed]).value_counts().plot(kind = \"bar\")\n",
    "plt.title(\"No of mis classification by digit\")\n",
    "plt.ylabel(\"No of misclassification\")\n",
    "plt.xlabel(\"Digit\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nmppiny+6H9zvf//7UD/77LOhLv5MKffD6e1RriWFaprr6IIQ99xzT6vnowtDPProo6H+5je/WVY/\npVx//fWtjkUXeqrkblM5uU76k2Sema3r7vPMrD/wTkcvjn7TpG0t/898zjnn1G8w0lUp11WmXEsK\nKNdVplxLCijXVVZOruNO27PCo+ge4AeF+gjg7nIGKCKpoFyLZI9yLZI9ynWKlLzzZGY3ATngi2b2\nBtAEXAjcZmZHAbOA71d7YE8++WSo//u//zvUm2yySaj/8Y9/ACtPxxGR0uqV66gZM2a0eXyfffap\nZbcimZWGXJfyq1/9KtTRD5uPHz8+1H379u3wHNEPjbc3xW+jjTYKdbWm64nUQyPkOrqY27bbblvV\nc3/00UehnjRpUqvnjznmmKr2F0ec1fYObuepXas8FhHpJMq1SPYo1yLZo1ynT9LV9kRERERERLqU\n1N7Lfvjhh9s8vtNOO4U6uoeLiIiIpNOCBQuAlaftHXbYYaHeb7/9Yp8rusLeJZdc0uZrDjjggHKH\nKCLtGDBgQKijK1neeeedAJx99tk16zu6B9zUqVNDPXjwYACOOOKImvXdHt15EhERERERiUEXTyIi\nIiIiIjGkdtreH/7whzaP33zzzaEubqL53e9+NxwbOHBgbQcmIlVx3HHHhfqXv/xlqIvTevr06ROO\nDR06NNTFW/UAb775Zqj//ve/A/D888+HY//3f/9X1piKm+d+9atfDceGDRtW1jlEpLXiKlmffvpp\nOObe4b6e7Wprk86Wdt9990TnFpHWVlllxb2W6PtxtK6m6M+G6OrbUfvvvz8A3bt3r8kYOlLyzpOZ\nXWVm88xsauRYk5m9ZWbPFh6jajtMEakm5Voke5RrkexRrtMnzrS9a4C2/oQzwd23KTweqPK4RKS2\nlGuR7FGuRbJHuU6ZOPs8PWZmg9p4yto4VjVz584NdfR2YfSWf3GKzYknnhiOnXXWWaH+j//4j1C/\n/PLLod5iiy0A2Hjjjdvs+9VXXw31lltuGWqt7idZUa9cR40bNy7UDz30UKife+45YOXVstZYY41Q\nn3DCCaGOrsKzcOHCisc0duxYADbYYINw7IUXXgj1WmutVXEfIrWShly3p/h+HN2w9oYbbgh1NOPR\nlbuKWXzvvffCsejPgKjTTjst1MqqZEWac51U8Xf56O/00ZX0ZsyYEepbb721zXPssMMONRpdaZUs\n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\nGnJdalW96OqV0d3Ro1P1oopThKJT9aIb90Wn+4lkURpyHRWdjnv00UcDcNlll4Vjxak7AL/85S9D\nHc37XnvtBbSf+/YsX7481MVVN7/zne+0+dro7w1xp+qJdJa05boc0dVxo4qrWqZtql5ccX4afQ78\nxN23BIYDx5nZ5sDpwEPuvhnwCHBG7YYpIlWmXItkj3Itkj3KdcqUvPPk7nOBuYX6QzObDgwExgAj\nCy+7Dmgm/42sqS984QuhLl65RveP+OCDD1o9D51zF0qkUdQr15988kmo77rrrjZfU/xQ6f333x+O\n9erVq+S5X3/9dWDlD5tH/7IdvSMlkkVpe7+OOuWUU4CVc3jllVeG+vnnnw91dPGI4n5Mffv2LdnH\nHnvsEeroYhSXXnppq3PceuutoR4xYkTp/wCROklzrku577772jz+1a9+tZNHUl1l3Qc3sw2BocBT\nwLruPg/CN7ZftQcnIrWnXItkj3Itkj3KdTqU3tq3wMx6ALcDJxWufFuue9juOojR+cu5XI5cLlfe\nKLuA5uZmmpub6z0M6WKU69pSrqUelOvaUq6lHpTr2ion17H2eTKzbsCfgfvd/ZLCselAzt3nmVl/\nYLK7b9FG25qtL1+cAjR8+PBwbOrUqaEeOnRoqJuamkK93nrrAbDtttuW7CP6ofbTT19xN3SbbbYB\n4PHHHw/HomvYV0r7Rkit1SPXH374Yag33XTTUM+dOzfU06ZNA2CLLVp1G+vc77//fjg2cODAssdY\nS8q11Fpa36/bEt0Havz48aG+4oorQv35559X3E/x50D0vO0tHpGEci211ki5XrJkSai/9rWvhXrY\nsGGhLk6rTfN0+mrs83Q18O/iN6zgHuAHhfoI4O7EIxSRelCuRbJHuRbJHuU6ReIsVT4COAR43sye\nI39b8ExgPPBHMzsKmAV8v5YDFZHqUa5Fske5Fske5Tp9Yk3bq6iDTrhduGjRimXtR44cGeroFL6o\nbt3y14xxVvCKTgFatmxZqIsriIwaNaq8wcakaQCSZp09DSArlGtJs7Tket68eaG+4IILgBUr5nVk\n0KBBoT7zzDNDXdwrql+/2nyeXrmWNOvsXEf3Y1177bVDPWnSpFDvuuuunTaepKoxbU9ERERERKRL\n08WTiIiIiIhIDJmYthcV3ST33HPPDfWECRMqPnd0db6//vWvwMobclaTpgFImqVlek+jUa4lzZTr\n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\nV+hab731Qr355puHesKECQB061av3VnaU64lzeqR6xkzZoR60KBBod50000BuPbaa8Oxc889N9TR\naXnRj8HU02effRbqk05auE/wRRddFOro6pvFlXnL0bQ9ERERERGRGuniSUREREREJIay97DNbDyw\nCzAnsjnXKOAw4O3Caae4+92JjTIhN954Y8nj66yzTqh33HHHRg1HpGGymOviRnlbb711OLbLLruE\nOrrhdXRq0RlnnBHqESNGANCnT5/EximSlDTk+oMPPgh1dHWtek7Xmz17dqij0+lfffXVUEff35Oa\nrifSCGnIdXTlzOgmuIcffjjQfjXb6HS5Rvj4448b3necO09XATuVOD7O3TcrPFrmBywRAZRrkSxS\nrkWyR7lOmbK/jnH3R8ysX4mnWvbDkcXfOkc/4BbdD+acc84JtX5jJVmUxVwvu+yyAGy33XbhWHQ/\nittuuy3U8+bNC3X0zlNxv7foPhWd7QMhkiZpyPW7775bVbtZs2aFeplllgl1MX/FfAOsttpqoe7e\nvXuoV1pppVDXe2EKkWZpVq7/8Ic/hPrCCy8MdXSBteh+ao126aWXAu0XgxgzZkyoR44cGeroz/j1\nUMtnno40sylmdoWZrVi3EYlIMynXItmjXItkj3LdJNXeVrkUOMPd3czGAOOAER2dPHr06FDncjly\nuVyV3WZXW1sbbW1tzR6GdG3KdZ0p15ICynWdKdeSAsp1nVWS61j7PBVuF95e/KBa3OcKz6diP5jP\nP/881MUPuF199dXhWPTW41/+8peGjasj2jdCkpaFXFfijjvuCPVuu+1W8pzinyn6ofcePXrUbQzK\ntSSt2bmOLuaw2Wabhbq4CMsGG2xQst0tt9wS6ug+LAcddBDQPodTp04NdXR6XnTvxmHDhlU89mop\n15K0ZuQ6uk9idNpb9P0zmttGuOCCC0J9++23A7DnnnuGY9Hcr7322jX1VY99nozI3Eoz6x15bg/g\n2eqHJyJNolyLZI9yLZI9ynWKxFmqfAKQA1Yxs9eAUcD3zGwQ8BUwAzg8wTGKSJ0p1yLZo1yLZI9y\nnT6xpu3V1EFKpvdEV9oq3uKLrt5z5513hjq6WlezaBqApFlacl2J6B4w66+/fslzNG1PurJ65/rl\nl18O9bhx4wB4/vnnw7Hoe+3PfvazUPfuHf2let5XX30V6qFDh4b68ccfD/XcuXND3chVMpVrSbNq\ncx2dqhedwhfNbXHqXHTVy3p47bXXQh3dYyo6ba+4t9S//vWvcKxnz551G0M9pu2JiIiIiIh0abp4\nEhERERERiSHT0/aim/Wtu+66of7www+B9pt+HXHEEY0bWAyaBiBplmSuX3zxxcWOdTTNrpzo6lvH\nHHNMqKPTiaKKU4Pmz58fjmnannQVaZ6O+/7774d65ZVXDvVxxx0X6vPPP7+hYypSriXN6r3aXlRx\npeorr7wyHPva174Wu4+33nor1NGV+6Ib3x5wwAGh3nrrrUNdXG59nXXWid1fJTRtT0REREREpEa6\neBIREREREYkhzlLlfYFrgV7kl0S83N0vMrOewF+AfuSXSdzL3eclONZYorcmzz777FAXp+pF7bLL\nLg0Zk0japC3X0Xx+5zvfAeBHP/pROFbc2Lozxc2tJ02aFI69+eabof7yyy9DHZ2CsO2224a62Hb5\n5ZePPXaRtEhbruvpqKOOKnn84IMPbuxARBqsWbmObmg9a9asUM+bt7CLG2+8EWj/s/ell14a6pEj\nR4b62WcX34rqnXfeCfWZZ54Z6pkzZ4Z6xRVXDHUlUwKTFOfO0xfAce7+TeC7wBFmNhA4Cbjf3QcA\nDwAnJzdMEakz5Voke5RrkexRrlOm4gUjzOw24HeFxxB3n1PY6bjN3QeWOL+hH0CN7vmwzTbblDzn\n+OOPB2Ds2LENGVM19AFUaaRm5zq6QEPxw+DR1+/ow6qldNQu+tur6667LtTRPSvqvVfFopRraaRm\n57oePv/8cwA22mijcCz6W/Do3eUVVlihcQOLUK6lkZqR6+gdpOgiSg899BAAbW1tFb1et275iW9j\nxowJx/bbb79Q9+nTp5ph1lXdFowws/7AIOBxoJe7zwFw99nA6rUNU0SaQbkWyR7lWiR7lOt0KPuZ\npyIz6w7cDBzt7h+Z2aKXsR1e1o4ePTrUuVwuLC8oC7W1tVV85S5SK+U6Wcq1NINynSzlWppBuU5W\nJbmONW3PzLoBdwB3ufuFhWPTgVzkduGD7r5BibYNnQYwfvz4UHf0IfPiB9RWWmmlsq83efLkUA8e\nPLjG0cWnaQCStDTlOrpgRP/+/QH44IMPov3Ffq1+/fqFesiQIaE+4YQTQj1w4GIzGxpCuZakpSnX\n9VCcovf1r389HPvFL34R6ksuuaThY1qUci1Ja3auows7RPdZKy4eseOOO4Zjr7/+etnX++Mf/wjA\nrrvuWtO4klSPaXtXAs8Vv2EFk4CDC/VBwMSqRygizaBci2SPci2SPcp1isRZqnwwsD8wzcyeJn9b\n8BRgLHCjmQ0HZgJ7JTlQEakf5Voke5RrkexRrtOn7MWTu08Gluzg6e/Xdzi1e+yxx0oev+iii0Jd\nXJHniy++KNnu2GOPDXV0VS6RrEhbrqOr9xSz+PTTT5c8Nzp3+4c//GGoN998cwD23nvvBEYokn5p\ny3U9/OlPf1rsWHHFXJGuIA25XnXVVUse79mzJwBPPPFEI4aRGhWtticiIiIiItJV6eJJREREREQk\nhthLlbeKu+++u+Tx6Eohc+bMAWD33XcPx1544YVQX3jhws/jDRgwoN5DFJFOrL/++u3+uyhNyxPp\nOn7/+98D7VfHja72JSLSaLrzJCIiIiIiEoMunkRERERERGIou0mumfUFrgV6AV8Bl7n7xWY2CjgM\neLtw6inuvticuUZvujdq1KhQn3XWWZ2eGx3XySefHOoxY8bUf2AV0qZ7kqRWy3VWKNeSpCzmep11\n1gFg4403DsduvfXWZg2nJOVakpTFXLeCznId5zNPXwDHufsUM+sOPGlm9xWeG+fu4+o1UBFpGOVa\nJHuUa5HsUa5TJs4+T7OB2YX6IzObDvQpPK3ftIi0IOVaJHuUa5HsUa7Tp+y0vXYnm/UH2oCNgOOB\ng4F5wL+A4919Xok2Db1d+Mknn4R6hx12CHV0A69tt90WgLFjx4Zjm266aaiXWmqpJIcYi6YBSKO0\nQq6zQrmWRslKrnfbbTcAnn322XDs5ZdfbtZwSlKupVGykutWUOu0veKLdAduBo4uXPleCpzh7m5m\nY4BxwIhSbUePHh3qXC5HLpeLP/ouoq2tjba2tmYPQ7oY5TpZyrU0g3KdLOVamkG5TlYluY5158nM\nugF3AHe5+4Ulnu8H3O7uG5d4Tle8VdBvsiRpynXjKdeSNOW68ZRrSZpy3Xid5TruUuVXAs9Fv2Fm\n1jvy/B7As4u1EpE0U65Fske5Fske5TpFyl48mdlgYH9gezN72syeMrNhwDlmNtXMpgBDgGM7eo1q\nb2+rnUgylOv0tROplXKdvnYitVKu09eu7MWTu0929yXdfZC7b+rum7n73e5+oLtvXDi+m7vPqffg\n1E4kGcp1+tqJ1Eq5Tl87kVop1+lrF3fanoiIiIiISJemiycREREREZEYKtrnqaoOzLTER5W0eo+k\nlXJdPeVa0kq5rp5yLWmlXFevo1wnfvEkIiIiIiKSBZq2JyIiIiIiEoMunkRERERERGLQxZOIiIiI\niEgMiV88mdkwM3vezF40sxMraDfDzJ4pbAj2z07OG29mc8xsauRYTzO718xeMLN7zGzFmO1Gmdkb\nhQ3IipuQLdqur5k9YGb/NrNpZvbLOH2WaHdU3D5F0ka57rCdci0tS7nusJ1yLS1Lue6wXfW5dvfE\nHuQvzl4G+gFLAVOAgTHbvgr0jHHeNsAgYGrk2FjghEJ9InB2zHajgOPK9NcbGFSouwMvAAPL9dlJ\nu7J96qFHmh7Kdax2yrUeLfVQrmO1U671aKmHch2rXcW5TvrO07eBl9x9prsvAG4Ado3Z1ohxZ8zd\nHwHeX+TwrsA1hfoaYLeY7Yr9dtbfbHefUqg/AqYDfcv12UG7PnH6FEkZ5brzdsq1tCLluvN2yrW0\nIuW683ZV5Trpi6c+wOuRr99g4UDLceA+M3vCzA6rsN/V3X0O5P+ygNUraHukmU0xsytK3WaMMrP+\n5K+aHwd6xe0z0u4flfYpkgLKdeftlGtpRcp15+2Ua2lFynXn7arKdZoXjBjs7psBOwNHmNk2NbxW\n3M2sLgXWdvdBwGxgXEcnmll34Gbg6MIV7KJ9lOyzRLvYfYpkgHItkj3KtUj2KNcdSPri6U1gzcjX\nfQvHynL3WYX/zgVuJX/rMa45ZtYLwMx6A2/H7HOuFyZDApcDW5Y6z8y6kf+Lv87dJ8bts1S7uH2K\npIhyXaadci0tSLku0065lhakXJdpV02uk754egJY18z6mdnSwD7ApHKNzGy5wpUhZrY8sCPwbGdN\naD9fcRJwcKE+CJi4aINS7Qp/2UV7dNLnlcBz7n5hhX0u1q6CPkXSQrku0065lhakXJdpp1xLC1Ku\ny7SrKteLriBR7wcwjPyKFi8BJ8Vssxb5FUGeBqZ11g6YALwFfAa8BhwC9ATuL/R7L7BSzHbXAlML\nfd9Gfv7kou0GA19GxvdU4c+4cmd9dtKubJ966JG2h3Jdtp1yrUfLPZTrsu2Uaz1a7qFcl21Xca6t\n8IIiIiIiIiLSiTQvGCEiIiIiIpIaungSERERERGJQRdPIiIiIiIiMejiSUREREREJAZdPImIiIiI\niMSgiycREREREZEYdPEkIiIiIiISgy6eREREREREYtDFk4iIiIiISAy6eBIREREREYlBF08iIiIi\nIiIx6OJJREREREQkBl08iYiIiIiIxJDKiycz+9DM5hceX5rZJ5Fj+8Zov5KZXWtmb5vZbDP7TQV9\njzCzLwp9fWBmT5rZDypo/3Mze6XQ9nEz+27ctiJZVodcdzOzSwuZfsfMbjOz3jH7rjXXq5nZhELb\nd83s6rhtRbKqDpm+Z5HX+MzMnozZd9WZNrMdzGxaJM93m9nAOG1Fsq4Oud7ezB40s3lm9mKFfbfE\nz+CpvHhy9x7uvoK7rwDMBP4ncuzPMV7iYqAb0Bf4LjDczPavYAgPF/ruCVwH3GRmPco1MrPNgLHA\n7u6+EnA98NcK+hXJrDrk+pfAt4FvAn2Aj4HfVjCEqnJdMLEw5j7A6sAFFfQrkkm1Ztrdd1rkNf4J\n3FjBEKrN9DRgp8L7dG/gWeDyCvoVyaw6vFd/TD5PJ1Q5hNT/DJ7Ki6dFWOFRif8Bxrr75+7+H+Aq\nYHilHbu7A1cCywFrxWjyTWCqu08tfH0tsLqZrVJp3yIZV02uvwnc7e7vuvtnwF8KxypSaa4Lv/Va\nzd1PdveP3f1Ld3+m0n5FMq6aTC9sbLYu+V92Xl9p20oz7e5vu/tbhS+XBL4CZlXar0gXUHGu3f0f\n7j4BmFFLx2n+GbwVLp4WY2bbmdnbnZ1C+2/2EsBGVfTTDTgUmA+8YmZLmNn7ZvbtDpr8HVjXzLYw\nsyWAEcCT7v5upX2LdDUxcn0PsLOZ9Taz5YH9gDur6KfSXH8HeNHM/lSYLvi4mQ2utF+RriZGpqP+\nF3jA3d+sop9KM42Z9Tez94GPgKHATyvtV6QrqjDXtfST2p/Bu9X7BRvB3R8mP3WmI3cBJ5nZCODr\nwEHkr1zj2tbM3gO+AF4EdnX3jwvP9exkXDPMbDTwGODAe8CwCvoV6bJi5Pom4IfAW+Sz+QyV/cBT\nVa7JT/8dRv7fkQOBvYFJZraOu39QQf8iXUqMTEf9L/DrCruoNtO4+wygp5n1BC4BxgM/rrB/kS6n\nwlxXI/U/g7fknacYjiR/G/5l4BZgAvBGBe3/7u4ru/vq7r6Nuz8Up5GZ7U7+cxkDgGXITxW8y8xW\nq2j0IlLKBcCywErA8sD/Udmdp6pyDXwKvOzu1xem7E0A5pCfYiQiNTKzHLAycGuFTavNdODu7wMj\ngd0Ld7RFpLlS/zN4Ji+e3P09d9/P3ddw942Bpch/EDVpOwG3u/urnncn8A76IUukHoYBV7r7fHdf\nQH5hmK3NbIWE+51K/rdYUYt+LSLVOxC42d3/26T+lwIWAJ81qX8RqV3DfgbP5MWTma1jZj3NbEkz\n+x/gEOCsyPN/N7NTEuh6KrCLmfUr9LMTsDbw7wT6EulqpgIHmVkPM1sKOAKY6e7zIdFc3wL0MrN9\nC3Ou9wZWIz81QERqULjbsyf5hZ0WfS6RTJvZHoUFKjCz1YHzgDvc/Yt69yXS1VjeMsDSwBJmtkzh\n80vF51v+Z/BWuHha7De8ZjakMB+yI1uS/8uaB5wO7O3u0bXmvwE8UulACj84fWhmW3Vwyh/JTyOa\nbGbzgPOB4e7+SqV9iWRcNbk+mvznNF8lP21ue2CPyPOJ5LrwYdNdgVOAD4DjgB/q804i7VSTaYDd\ngbfdfXKJ55J6r/4GcK+ZfQg8Acwl/+FyEWmvmlxvT366+23kV8n7hPZT7Fv+Z3DLrwTYdRSuSK91\n9yHNHouI1IdyLZItyrRI9mQl1zXdeTKzYWb2vJm9aGYn1mtQSXL3ma3+TRNJknItkj2tlmtlWqQ8\n5bo5qr7zVFhD/UVgB/JLBz8B7OPuz9dveCLSSMq1SPYo1yLZo1w3Ty13nr4NvFS4ilwA3ED+cwEi\n0rqUa5HsUa5Fske5bpJaNsntA7we+foN8t/Idsysa32oqo7c3Zo9BulylOuEKdfSBMp1wpRraQLl\nOmEd5bohq+0NGTKEUaNGMWrUKB588EHcPdZj1KhRsc9t9XYPPvhg+DsaNWpUI74tIjVRrpVryR7l\nWrmW7FGu65vrWu48vQmsGfm6b+HYYnK5HKNHj66hq+zL5XLkcrnw9emnn968wUhXplzXkXItKaFc\n15FyLSmhXNdRJbmu5c7TE8C6ZtbPzJYG9gEm1fB6ItJ8yrVI9ijXItmjXDdJ1Xee3P1LMzsSuJf8\nRdh4d59e6tzolVwl1E6ksZTr5rUTSYpy3bx2IklRrpvXLvFNcs3Mk+4ji8wM1wdQJaWU6+oo15Jm\nynV1lGtJM+W6Op3luiELRoiIiIiIiLS6WhaMEBFJtddfX7iK66abbhrqVVZZJdSTJ08O9aqrrtqY\ngYmIiEhL0p0nERERERGRGHTxJCIiIiIiEoMWjEgpfQBV0iyNuV6wYAEAI0eODMeuv/76UH/wwQcl\n22255ZahfuyxxxIaXZ5yLWmWxly3AuVa0izJXD/00EMA7LDDDiWff+CBB0K93XbbJTKGpHSW65o+\n82RmM4B5wFfAAnf/di2vJyLNp1yLZI9yLZI9ynVz1LpgxFdAzt3fr8dgRCQVlGuR7FGuRbJHjSVV\n/QAAIABJREFUuW6CWi+ejIx8buryyy8P9eGHHx7q6K3O3r17h/qpp54CYI011mjA6EQaqmVyPWvW\nrFDvv//+ADz88MPhWDS/ZqVn1ey8884JjU4kVZqa63vuuQeAYcOGhWPLLbdcqI888shQR9+D1157\n7QaMTqRlNTXXxel6SyxRegjf//73Q/3Xv/411AMGDABgvfXWS3B0yan1L9yB+8zsCTM7rB4DEpGm\nU65Fske5Fske5boJar3zNNjdZ5nZauS/edPd/ZFFTxo9enSoc7kcuVyuxm6zp62tjba2tmYPQwSU\n67pRriVFlOs6Ua4lRZTrOqkk13Vbbc/MRgEfuvu4RY6nYvWed999N9TnnXceAL/97W/DseJKXdB+\nqk9HNtxwQwCmTZtWryG2o9V7JA3SmOsPP/ww1GPGjAn1+eefv9i5cabtde/ePdSTJk0CklsVSLmW\nNGhGrovTaffee+9wLNrX3LlzQ73MMsuEunh+dGp9t261/t63vpRrSYNm5LqYxY6m7UV99dVXod5i\niy2A9ivirrvuunUeXW06y3XV0/bMbDkz616olwd2BJ6t9vVEpPmUa5HsUa5Fske5bp5afn3TC7jV\nzLzwOn9y93vrMywRaRLlWiR7lGuR7FGumyTTm+S+8847oS5O1QM499xzO23Xp0+fUPfo0SPUzz//\nfKiLU4B+/etfh2Onn3569YNdhKYBSJo1M9dnnHFGybqUONP2SolOB9xqq61C/b3vfS/2a5SiXEua\nNTrXX375ZagnTpwY6htvvDHUN910EwD77LNPOHbVVVeFeumll05yiLEo15JmjZiOG11VryPRaXvF\naX7FqfLQfiXONEhk2p6IiIiIiEhXoosnERERERGRGDI9bS+6YtbkyZMXe37EiBGhHjx4cKijqwH9\n4he/CPU111yz2Gusueaaof7Pf/5T/WAXoWkAkmaNzvXrr78e6k033TTU77/f+abqpaYJxBFtF/03\n4JJLLon9GqUo15JmaVkd99NPPw31AQccAMCtt94ajkWXE05qZcxKKNeSZknm+rXXXgPibWZd7v34\ngQceCHXac607TyIiIiIiIjGka7OEOnjvvfdCPWPGjJLn/PjHPwbg97//fTi25JJLVtVfrR8gF5Hy\nLrzwwlB/8MEHoS61CMS2224b6uiHUV955ZVQn3322aG++eabF3uN6G/FrrvuulDvvvvuoY7zAVkR\nqdzXvva1UN9yyy1A+0yOHDky1P/4xz8aNzARaWfFFVcEYLfddgvHou+7HSl15yn6nvr555/XYXTJ\nKXvnyczGm9kcM5saOdbTzO41sxfM7B4zWzHZYYpIPSnXItmjXItkj3KdPnGm7V0F7LTIsZOA+919\nAPAAcHK9ByYiiVKuRbJHuRbJHuU6ZWItGGFm/YDb3X3jwtfPA0PcfY6Z9Qba3H1gB20b+gHU6B5O\nJ510Uqj79+8f6oceegiAvn37ln294cOHhzq6YMQKK6wAwD//+c9wbL311qt8wB3QB1Alaa2U6+i0\n2o72axo6dCiwcF8YgO7du5c899VXXw31+uuvv9jz0T9br169Qn3nnXeGetCgQeWGvRjlWpLWSrmu\nRHT/xejU3egUod/85jehHjBgQKivvvrqRMemXEvS0p7ruXPnhvrnP/95qKP5rGQBpzRM20tiwYjV\n3X0OgLvPBlavdnAikhrKtUj2KNci2aNcN1G9Fozo9JJ29OjRoc7lcuRyuTp1mx1tbW3tll8VSQHl\nukbKtaSQcl0j5VpSSLmuUSW5rnba3nQgF7ld+KC7b9BB28RvFz7++OOhHjJkSKi/+OKLUB988MGh\nHj9+/GKv8cknn4T69ttvD/Xhhx8e6g8//DDUBx54IABXXXVVlaPunKYBSNLSnuuoONP2/u///g9o\n/29A9NzPPvss1GeddVaozz///MVeK/pni05B+N3vflfJsBejXEvSWinXlShOy4X2+8H07Nkz1NF9\n37773e+G+pFHHkl0bMq1JK2Vcn3qqaeGeuzYsaHuitP2rPAomgQcXKgPAiZWPToRaRblWiR7lGuR\n7FGuUyTOUuUTgEeB9c3sNTM7BDgbGGpmLwA7FL4WkRahXItkj3Itkj3KdfrEmrZXUwcNuF14zz33\nhHrnnXcueU70lv+YMWMWe/7ZZ58N9YgRI0q+RnGFPVi4MV+plbrqQdMAJM3SOG2vuFnfJptsEo5F\np/RMnBj/F3PRP1t0DnR0A95qKNeSZmmethed5tPRvwFR0Y10o5tiJ0G5ljRrZq633377UEffS8tN\n29t4441D/eCDD4a6+D7fCEmsticiIiIiItKl6OJJREREREQkhnotVd5UX//610O93HLLhTq6gt59\n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\ne+4BNG1Puq5WznVHilP0VlhhhXAsOi0oqm/fvqEuru4HsMQSyf4+SbmWJLVyrl955ZVQRzfZfPLJ\nJ4GOp/fEcfXVVwPtV9itJ+VakpTmXL/33nsAXHzxxeHYSy+9FOobbrih0/a15Drt0/auAnYqcXyc\nu29WeJT8holIainXItmjXItkj3KdMmUvntz9EeD9Ek/ptywiLUq5Fske5Voke5Tr9Cm7SW4njjSz\n/wX+BRzv7qV3tBSRVtJSuZ41a1aoR40aBcDnn39etl30Nn/SU/VEUiD1uY6uiPfYY4+Furj65p13\n3hmORfN74403hjo6Pb+trS3Uhx12GABrr712OBZdgVekRTU91yuvvDKw8P13Uddff32o77vvvlAf\neuihQPuVNeO8F6+66qqh/uMf/wi0//dg0KBBoe7Xr1/Z16tWtT81XAqs7e6DgNnAuPoNSUSaRLkW\nyR7lWiR7lOsmqurOk7vPjXx5OXB7Z+ePHj061LlcjlwuV023mdbW1tbuN2UijaZc159yLc2mXNef\nci3NplzXXyW5jrVJrpn1B253928Vvu7t7rML9bHAlu6+XwdtG7p6z/z580MdvUX//vsLp4sWV9vb\nfvvtw7F333237Gv/7Gc/C/X3vvc9AMaMGVPy3OKtzEXH8dxzz4V6jTXWAODTTz8Nx6688koANt10\nU63eI4lqpVx35Pnnnw/1N7/5TQD22GOPcOyvf/1ryXbf+MY3Qj1jxoxkBleCVuWSpGUh19V66qmn\nQr3llluGuvhn2mmnhZ+5v+uuu+rWr3ItSctaridOnAi0f7+Os9remmuuGepXX321/gOL6CzXZe88\nmdkEIAesYmavAaOA75nZIOArYAZweN1GKyKJU65Fske5Fske5Tp9yl48dXAle1UCYxGRBlGuRbJH\nuRbJHuU6fWpZbS+VjjnmmFBHp+pFFVf8iD4f3ZSvI9FNd9dff30ADjnkkJLnDh06NNTR6YHFaXkA\nO+6442LjeOKJJ8qOQ0TyunVb+E9YcQptdLWdjqbtXXjhhckOTEQSE11Rc9y4hZ+THzt2bKftNtts\ns8TGJCK1WXbZZUMdfW//6KOPQh1dne+0004D4IwzzmjA6NrTGr0iIiIiIiIxxFowoqYOGvBBtWee\neSbUP/nJT0L9yiuvxH6N7bbbLtS//vWvS54TXV8++tvtJOgDqJJmafwA6oknngjAeeedV/bcf//7\n36EeOHBgYmNalHItaZbGXBd9+OGHoY4u3nTDDTeUbXv44fmPg1x88cXh2JJLLlm3sSnXkmZpzHWp\nBSOi9TnnnBPqbbfdNtSzZ88O9Yorrgi0X4itV69edRtjZ7nWnScREREREZEYdPEkIiIiIiISQ5yl\nyvsC1wK9yC+JeLm7X2RmPYG/AP3IL5O4l7vPS3CsHYpO24szVa94q2/y5MnhWN++fUPdo0ePOo5O\nJH1aIddxvPPOO6HuaIGYouHDh4d6rbXW6vTcjz/+ONQLFiwI9UorrVTpEEUaJiu5jpo5cyawcIEl\ngJdeeqlsu+jUvksvvbT+AxNpkCzmesMNN1zs2K233hrq6CJuP/rRj0J92WWXhfqDDz4AYN68hX/k\nek7b60ycO09fAMe5+zeB7wJHmNlA4CTgfncfADwAnJzcMEWkzpRrkexRrkWyR7lOmbIXT+4+292n\nFOqPgOlAX2BX4JrCadcAuyU1SBGpL+VaJHuUa5HsUa7Tp6J9nsysPzAIeBzo5e5zIP+NNbPV6z66\nMop7Ik2dOrXk8/vvv3+ol1566VAff/zxAGywwQYJjk6kNaQt15WI7tvy5ptvdnruiy++GOrorf8h\nQ4aEurifxJNPPhmO/fa3vw313/72t1D379+/8gGLNEgacj1hwoRQr7vuugBstNFG4dhyyy0X6vnz\n54f66quvDnVxFc3PPvssHDNbuADW1772tVAfffTRoW7G3i8iSUtDruthvfXWA2DllVcOx957771Q\n77XXXmVf46uvvgIWTt9rpNgLRphZd+Bm4OjCle+i6x6max1EESlLuRbJHuVaJHuU6/SIdefJzLqR\n/4Zd5+4TC4fnmFkvd59jZr2BtztqP3r06FDncjlyuVzVA86qtrY22tramj0M6UKU6+Qp19JoynXy\nlGtpNOU6eZXkOtYmuWZ2LfCOux8XOTYWeM/dx5rZiUBPdz+pRNvENudaYoklin2EY8UpeQBnnXVW\nqJdaaqlExpAUbbonSUtrrisRXTEzutF1JaIr6K255poAHHrooeHYjBkzQj1mzJhQL7PMMhX3pVxL\n0tKU62HDhoX6vvvuA2CNNdYIx6JTdt5+e+HPfXPnzl3staLj2nzzzUMdnYK76aab1jji6ijXkrQ0\n5bqeohvWb7LJJhW1Lf6Z/vCHP4Rjhx12WH0GRue5jrNU+WBgf2CamT1N/rbgKcBY4EYzGw7MBMpP\nUBSRVFCuRbJHuRbJHuU6fcpePLn7ZGDJDp7+fn2HIyKNoFyLZI9yLZI9ynX6VLTaXtpMmjQJgAce\neCAcO/3000PdalP1RKQyq6yySs2vMXTo0FDvu+++QPuV+6KrdlUzVU+kq4qumPXQQw8B8NZbb4Vj\ns2bNKvsayy67LNB+o9s999wz1Msvv3zN4xSR5oiueh3N9c033xz7NaZMmVLXMcURe7U9ERERERGR\nrkwXTyIiIiIiIjG09LS9XXbZpd1/RaRrWWGFFUJ9wAEHAO03xI5ucBs9Nyq6cteuu+4KwIMPPhiO\nFTfiE5HKDB8+PNQbbrghAIccckg4Ft24Ourggw8O9ZlnngnA17/+9QRGKCLNVFw1G9qvnBldee/U\nU08t2XbEiBEA/OpXv0podB3TnScREREREZEYyl48mVlfM3vAzP5tZtPM7KjC8VFm9oaZPVV4DCv3\nWiKSDsq1SPYo1yLZo1ynT9lNcgu7Fvd29ylm1h14EtgV2Bv40N3HlWmf2s250kyb7kmSspzro48+\nOtQXXHBBqE877bRQ//GPfwz1008/Heq+ffsmOjblWpKU5VynmXItSeqKuY5Olz///PNDHV1hNzot\nOAk1bZLr7rOB2YX6IzObDvQpvnbdRikiDaNci2SPci2SPcp1+pS989TuZLP+QBuwEXA8cDAwD/gX\ncLy7zyvRpuWueNNAv8mSRlGuG0e5lkZRrhtHuZZGUa4bp7Ncx14wonCr8GbgaHf/CLgUWNvdB5G/\nIu70tqGIpI9yLZI9yrVI9ijX6RFrqXIz60b+G3adu08EcPe5kVMuB27vqP3o0aNDncvlyOVyVQw1\n29ra2mhra2v2MKQLUa6Tp1xLoynXyVOupdGU6+RVkutY0/bM7FrgHXc/LnKsd2EeJmZ2LLClu+9X\noq1uF1ZB0wAkacp14ynXkjTluvGUa0mact14neU6zmp7g4GHgWmAFx6nAPsBg4CvgBnA4e4+p0R7\nfdOqoH+MJUnKdXMo15Ik5bo5lGtJknLdHDV95sndJ7v7ku4+yN03dffN3P1udz/Q3TcuHN+t1Des\nqNrb22onkgzlOn3tRGqlXKevnUitlOv0tYu9YEQtWuUvo1XaiaRBq+SlVdqJpEGr5KVV2omkQavk\npVXaNeTiSUREREREpNXp4klERERERCSGijbJraoDM31KrUr6AKqklXJdPeVa0kq5rp5yLWmlXFev\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10c656160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, _ = plt.subplots(6, 4, figsize = (15, 10))\n",
    "for i, ax in enumerate(fig.axes):\n",
    "    ax.imshow(X_test[missed][i].reshape(28, 28), interpolation=\"nearest\", cmap=\"Greys\")\n",
    "    ax.set_title(\"T: %d, P: %d\" % (y_test[missed][i], y_test_pred[missed][i]))\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original size: (82, 82)\n",
      "Predicted value:  [9]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nIYoPZIjiAxmi+ECGKD6QoeQ8vpktl/RdSZ3ufnnlujZJ90j6vHKzh9z9xbqNsoDouO+1mDNnTphf\neumlYf7ee++F+ZIlS8I8NVc9d+7cMI/OXy9JBw4cCPPnnnsuzJcuXVo1S52TIPVvk9rGoug2DDmr\nZY3/S0nfGeT6Ze5+ZeVPS5YewOCSxXf31yXtGyQqtioF0DRFPuMvMrONZvZzM/vGsI0IQN0NdVv9\nn0n6V3d3M/s3Scsk/WO1G7e3t5+4XCqVktu/Azh15XJZ5XK5ptsOqfjuvrvfj09L+n10+/7FB1Af\nA1eqHR0dVW9b61t9U7/P9GY2uV92i6QPTmmEAJqqlum8ZyWVJH3TzP4kqU3St81spqReSdsl/aCO\nYwQwzCy1P3bhBzDzej9GEamxpc5f/9prr4X5XXfdFeY7duwI89GjR4f5lClTwnzcuHFhvnfv3jDf\ntWtXmM+ePbtqNm3atHDZ5cuXh/mMGTPCfN26dWE+YcKEMP+6MzO5+6Czb2y5B2SI4gMZovhAhig+\nkCGKD2SI4gMZovhAhrI/rn5qn/DUPuXXXHNNmKeOm//444+H+dq1a8N8//79Yd7V1RXm06dPD/P7\n7rsvzBcuXFg1e/TRR8NlU9tITJw4McxTxxpAdazxgQxRfCBDFB/IEMUHMkTxgQxRfCBDFB/IUPbz\n+Cmpef7Usd2vuOKKMH/yySfD/MsvvwzzQ4cOhXlq/Kn99c8+++ww7+npqZpt27YtXDYltY1B6rj7\nqI41PpAhig9kiOIDGaL4QIYoPpAhig9kiOIDGWIev6DUPHlKai661Y8Nv2fPnqrZ+vXrw2VTz92s\nWbPCfNQo/vsOFWt8IEMUH8gQxQcyRPGBDFF8IEMUH8gQxQcylJwINbOpkp6RNElSr6Sn3f1xMxsv\naaWk6ZK2S7rN3eOdx1uQu4f5vn37wvyTTz4J8927d4f5tddeG+ap/eGLSv3+qXzNmjVVsx07doTL\npo4FcP3114d56pwHqK6WZ+6YpAfc/VJJfyfph2Z2saQlkl5294skvSrpx/UbJoDhlCy+u+9y942V\ny12SNkmaKmmupBWVm62QdHO9BglgeJ3SeyUzmyFppqR1kia5e6fU9+IgKT7fEYCWUfPGzmZ2jqTf\nSfqRu3eZ2cAPf1U/DLa3t5+4XCqVVCqVTm2UAJLK5bLK5XJNt62p+GY2Sn2l/5W7P1+5utPMJrl7\np5lNlvR5teX7Fx9AfQxcqXZ0dFS9ba1v9X8h6SN3f6zfdaslLahcni/p+YELAWhNtUznXS3pe5Le\nN7MN6ntL/5Ckn0r6rZktlPSppNvqOVAAwydZfHf/b0nVDh4fT7R+DbzzzjthPm/evDDv7u4O8+XL\nl4f5LbfcEuap4/oXnaffunVrmD/yyCNVs2PHjoXL3nDDDWF+wQUXhHnRYyHkjC0ggAxRfCBDFB/I\nEMUHMkTxgQxRfCBDFB/IEAcmT7jyyivD/OKLLw7zN954I8wXL14c5nv37g3zG2+8McxT+6y/++67\nYb506dIw37JlS9VsypQp4bJLliwJ87Fjx4Y5ho41PpAhig9kiOIDGaL4QIYoPpAhig9kiOIDGbLU\n/tiFH8DM6/0YRRTdX/2tt94K87vvvjvMU/u7p/a3P/fcc8M8tc/6gQMHwjx1PIFp06ZVzZ566qlw\n2dmzZ4d56ndnf/yYmcndB32SWOMDGaL4QIYoPpAhig9kiOIDGaL4QIYoPpCh7OfxU1Jj7+3tDfNt\n27aF+YoVK8L8lVdeCfMvvvgizFPOO++8ME/Ntc+fP79qNn369HBZ5unri3l8ACeh+ECGKD6QIYoP\nZIjiAxmi+ECGksU3s6lm9qqZfWhm75vZP1WubzOzHWb2P5U/N9V/uACGQ3Ie38wmS5rs7hvN7BxJ\n70iaK+l2SQfcfVli+dN6Hj+l6O/W09MT5ocPHw7z1P7yqbnw0aNHh3nq2Pap4/ZHmKevr2geP3lC\nDXffJWlX5XKXmW2SdPxMCfzLAaehU3q5NrMZkmZKOn7YmUVmttHMfm5m3xjmsQGok5qLX3mb/ztJ\nP3L3Lkk/k/S37j5Tfe8Iwrf8AFpHTefOM7NR6iv9r9z9eUly9939bvK0pN9XW769vf3E5VKppFKp\nNIShAoiUy2WVy+WablvTTjpm9oykPe7+QL/rJlc+/8vM/kXSt9z9jkGW5cu9AF/uoV4KfblnZldL\n+p6k981sgySX9JCkO8xspqReSdsl/WDYRgygrtgttyDW+KzxW1W0xqf4TXa6PzeUt3WxPz6Ak1B8\nIEMUH8gQxQcyRPGBDFF8IEMUH8hQTdvqo36YB0czsMYHMkTxgQxRfCBDDS9+rfsLNwvjK6aVx9fK\nY5MaOz6KPwDjK6aVx9fKY5O+5sUH0HwUH8hQQ/bHr+sDAKiqaQfiANB6eKsPZIjiAxlqWPHN7CYz\n22xmH5vZg4163FqZ2XYze9fMNpjZ+hYYz3Iz6zSz9/pdN97M1pjZFjN7qZlnL6oyvpY5keogJ3v9\n58r1LfEcNvtktA35jG9mIyR9LOk6SX+R9Lakee6+ue4PXiMz+0TSVe6+r9ljkSQzu0ZSl6Rn3P3y\nynU/lbTX3f+98uI53t2XtND42lTDiVQbITjZ6/fVAs9h0ZPRFtWoNf4sSX9090/dvVvSb9T3S7YS\nUwt99HH31yUNfBGaK2lF5fIKSTc3dFD9VBmf1CInUnX3Xe6+sXK5S9ImSVPVIs9hlfE17GS0jfqP\nPkXSn/v9vEP//0u2Cpf0BzN728zuafZgqpjo7p3SibMYT2zyeAbTcidS7Xey13WSJrXac9iMk9G2\nzBquBVzt7ldK+ntJP6y8lW11rTYX23InUh3kZK8Dn7OmPofNOhlto4q/U9K0fj9PrVzXMtz9s8rf\nuyWtUt/Hk1bTaWaTpBOfET9v8nhO4u67+5095WlJ32rmeAY72ata6DmsdjLaRjyHjSr+25IuMLPp\nZjZG0jxJqxv02ElmdlbllVdmdrakGyV90NxRSer7rNf/895qSQsql+dLen7gAg120vgqRTruFjX/\nOfyFpI/c/bF+17XSc/hX42vUc9iwLfcq0xKPqe/FZrm7/6QhD1wDMztffWt5V9/hyH7d7PGZ2bOS\nSpK+KalTUpuk/5T0H5L+RtKnkm5z9/9tofF9W32fVU+cSPX45+kmjO9qSf8l6X31/bseP9nrekm/\nVZOfw2B8d6gBzyGb7AIZ4ss9IEMUH8gQxQcyRPGBDFF8IEMUH8gQxQcyRPGBDP0fLCOyGet6MysA\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10c84f278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img = scipy.ndimage.imread(\"/Users/abulbasar/Downloads/9-03.png\", mode=\"L\")\n",
    "print(\"Original size:\", img.shape)\n",
    "img = normalize_fetures(scipy.misc.imresize(img, (28, 28)))\n",
    "img = np.abs(img - 0.99)\n",
    "plt.imshow(img, cmap=\"Greys\", interpolation=\"none\")\n",
    "print(\"Predicted value: \", nn.predict(img.flatten(), cls=True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
